ダイアログ範囲外のマウスクリックを取得したい – プログラミング – Home

ダイアログ範囲外のマウスクリックを取得...
 
通知
すべてクリア

[解決済] ダイアログ範囲外のマウスクリックを取得したい


ぐ
 ぐ
(@ぐ)
ゲスト
結合: 24年前
投稿: 10
Topic starter  

ダイアログ範囲外のマウスクリックをイベントとして
取得したいのですが、そのようなことは可能でしょうか?

(ダイアログ範囲内でしたら、OnLButtonDown()などで
イベントが取れると思うのですが・・)
ちなみにダイアログはモーダルにしています。

環境はWindowsXP ,VC++6.0(MFC使用)です

よろしくおねがいします。


引用未解決
トピックタグ
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

この質問の仕方だと可能ですとか一言言われておしまいになりませんか?

もうちょっと突っ込んで自分がやりたい事を書いた方がいいと思いますよ。
どういう機能を実現するためにそういう操作が必要なんでしょう?
作成しているアプリはいったい何をするためのアプリなんでしょう?
そういう背景の部分まで書いていないと的確なレスポンスは得られません。


返信引用
かつお
 かつお
(@かつお)
ゲスト
結合: 21年前
投稿: 1
 

SetCaptureすれば可能。


返信引用
ぐ
 ぐ
(@ぐ)
ゲスト
結合: 24年前
投稿: 10
Topic starter  

SetCaptureで解決しました!!ありがとうございました。

詳細は以下の通りです↓

<詳細>
ダイアログ(親)からダイアログ(子)を作成した後、
どこかでマウスが押されたら子ダイアログを消したかった。
(子はMessageBoxのような形状です。(子がモーダル))

<方法>
・親ダイアログ側処理
CMsgBox *m_pMsgBox; // CMsgBoxは子ダイアログのクラス
m_pMsgBox = new CMsgBox();
m_pMsgBox->DoModal();// 子ダイアログ作成

・子ダイアログ側処理
OnInitDialog()にて
this->SetCapture();
OnLButtonDown()にて
::ReleaseCapture();
this->OnOK();
を行いました。(子ダイアログにはOKボタンがついています)


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました