• 締切済み

タイトルバーと同機能のスタティックコントロール

VC6.0 MFC ダイアログで常駐アプリを作っているものです。 タイトルバーを非表示にし、タイトルバーに似せたビットマップを 作成し、スタティックコントロールに貼り付けています。 そこで、このビットマップにタイトルバーと同様の機能をもたせたいのですが、 タイトルバー上をドラッグ&ドロップでウィンドウを移動させる方法が どうしてもわかりません。 ウィンドウを移動させる方法はわかっているのですが、 スタティックコントロールに機能を実装する事ができません。 どなたかご教授ください。よろしくお願い致します。   

みんなの回答

noname#30727
noname#30727
回答No.1

OnNcHitTest で、ダイアログのある領域にマウスカーソルがあるときに、HTCAPTION であると返してやると、通常のタイトルバーと同じ動作になるはずですが、コントロールが上にあるとうまくいかないので、そのビットマップはダイアログに直接描画しないとダメかもしれません。

関連するQ&A

  • ダイアログ上コントロールの動作について

    MFCでダイアログにて動作するアプリケーションを作成しています。 表示されたダイアログの枠をドラッグすると、ダイアログの大きさが変わりますが、 中にあるコントロールの大きさ・位置は変わりません。 ダイアログの大きさ変更に伴い、コントロールの大きさも変更するには、 どのような実装の仕方をすれば良いのでしょうか? 解決法をご存知の方おられましたら、ご教授お願い致します。 開発環境はVC++2005です。

  • タイトルバーの左に小さなアイコンを表示したい

    素人質問ですみません。 VC++6.0、MFCで作業しています。 ダイアログウィンドウのタイトルバーに表示する小さなアイコンを表示する方法がわかりません。 ダイアログプロパティのどこかで設定できるのでしょうか? 探してみましたがよく分かりませんでした。 簡単そうな質問ですみませんが、宜しくお願いします。

  • .netのAjaxでドラッグアンドドロップ

    AtlasがAjaxControlToolkitに包含されるようになったときいておりますが、 AjaxControlToolkitを使って、web上でドラッグアンドドロップを実装しようとしています。 間違えないようにコメントしておきますが、 ここで申しております、ドラッグアンドドロップは コントロールをマウスで移動できるようにすることです。 iGoogleのようなコントロールの移動です。 しかしながら、なかなか参考サイトなどがみつからず、 実装できておりません。 asp.net2.0でドラッグアンドドロップの実装方法はどうしたらいいのでしょうか?

  • タイトルバーのアイコンを無効にできませんか?

    Internet Explorerのタイトルバーの左端にあるアイコンを デスクトップにドラッグ&ドロップすると ショートカットを作成できたり、 他のIEのウィンドウにドラッグ&ドロップすると同じページを 表示したりできますが、 これをJavascriptの制御等で無効にすることはできないでしょうか。 よろしくお願いします。

  • タイトルバーしか出ません。

    今まで、インターネットを利用するとき HPから必要な箇所に移動すると 移動先の新しい画面がすぐに出また。 ところが最近 何が原因かはわかりませんが(最近 ノートン・インタネットセキュリティ2004インストールしました。) 移動先の画面が出る前に タイトルバーだけしか小さく出ません。 そのタイトルバーの最大化ボタンを押してはじめて 移動先の画面が見られます。 以前のようにすぐ移動先の画面を、手早く表示させる方法を教えてください。 私が試した方法 ・タイトルバーをドラッグして大きくし最後に閉じて再起動しました。 ・タイトルバーが小さい時に右クリック→サイズ変更→サイズを矢印キーで大きくしてenterを押しページを閉じてもう一度開いてみました。 ・Supybotもインストールしてやってみました。 以上 試しましたがダメです。 良い方法教えて下さい。

  • アプリがタイトルバーだけで起動する

    特定のアプリのウィンドウの初期状態が画像のようにタイトルバーのみになってしまいました。 下方向にドラッグして引き延ばせば問題なくアプリを使用できるのですが、いちいちその作業をするのは面倒ですし他のアプリのタイトルバーとかぶってしまうと起動したことに気づきにくいです。元に戻したいのですが、どうすればよいのでしょうか。

  • SetWindowLong()でタイトルバー左端のアイコンを消す

    VC++2005のMFCを用いてプログラムを作成しています。 サイズ変更枠のダイアログを表示した際に、 デフォルトで表示される、タイトルバー左端のアイコンを SetWindowLong関数を用いて消したいのですが、 方法が分かりません。 ちなみに他の方法を用いた消し方は分かるのですが、 SetWindowLongを用いた方法を修得したいと思い、質問させて頂いた次第です。 方法についてご存知の方おられましたら、ご教示お願い致します。

  • コントロールのフォーカスが横取りされた場合の対応

    VC++(6.0)/MFCにてアプリを開発しています。 メイン画面上にリストボックス・リストビュー・ボタンの各コントロールを配置し、 ユーザがいつでも操作できるようになっています。 そこで、ユーザがリストボックス等をマウスにてスクロール中に、バックグラウンド 処理でモーダルダイアログを表示すると、マウスダウン中に突然フォーカスが失われ るため操作中のコントロールに対しマウスアップメッセージが送信されずモーダルダ イアログ側へフォーカスが強制的に移動してしまいます。 操作中のコントロールは、マウスアップイベントが送信されていないため、奇妙な動 きをするようになります。 この場合、画面上の全てのコントロールに適応可能な「フォーカスが失われたよ」的 な処理を実装したいのですが、どのようにすればよいのでしょうか。 現在は、コントロール単位でオーバーライドしてLostFocus等で処理しています。 よろしくお願いします。

  • コントロールのドラック&ドロップ

    コンニチワ VBでフォームに配置したコントロールを ドラック可能にして フォーム上でドラック&ドロップを 検出してドラック前の位置から ドロップ後の位置にコントロールを 移動させたいのですが どうしてもずれたりして 上手く配置されません どなたか同じようなことをやったことがある方 ベストなやり方 わかる方教えて下さい よろしくお願いします

  • タイトルバーのないアプリに二重起動防止機能を付けたい

    今、タイトルバーのないアプリを作っているのですが、このアプリのウインドウを別アプリから、APIのFindWindow関数で見つけたいのですが、タイトルがないのでクラス名でしか見つけれません。同じクラスのウインドウが他にもあった場合、区別が付かず困っています。 具体的に申しますと、作ったアプリに二重起動防止機能を付けたい(すでに起動されている場合はそのアプリのウインドウを元の大きさに戻してアクティブにする)のですが、そのアプリにはタイトルバーがなく、FindWindowでは見つけれない場合があります。 このような場合どうすればいいでしょうか? よろしくお願い致します。