画面外でのクリック – プログラミング – Home

通知
すべてクリア

[解決済] 画面外でのクリック


pp
 pp
(@pp)
ゲスト
結合: 17年前
投稿: 6
Topic starter  

はじめまして。

今自作のメニューを作成しているのですが、メニューバー上の項目を押してポップアップ
メニューが出ている状態のときにメニューバー外をクリックした場合、ポップアップメ
ニューを閉じるようにしたいのですが、メニューバー外のクリックを感知するのはフック
以外の方法ではできないのでしょうか?

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


引用未解決
トピックタグ
pp
 pp
(@pp)
ゲスト
結合: 17年前
投稿: 6
Topic starter  

すいません、マウスキャプチャーでできました。

解決です。


返信引用
pp
 pp
(@pp)
ゲスト
結合: 17年前
投稿: 6
Topic starter  

何度もすいません。

マウスキャプチャーはマウスを押してるときしかしたらダメなこと忘れてました(笑)


返信引用
wclrp ( 'o')
 wclrp ( 'o')
(@wclrp ( 'o'))
ゲスト
結合: 18年前
投稿: 287
 

クリック検知じゃないけど

メニューウィンドウにフォーカスもたせて
フォーカス失うときメニューも消える。


返信引用
pp
 pp
(@pp)
ゲスト
結合: 17年前
投稿: 6
Topic starter  

フォーカスだとタイトルバーをクリックしたときになぜかWM_KILLFOCUSが呼ばれないので
無理でした。。


返信引用
wclrp ( 'o')
 wclrp ( 'o')
(@wclrp ( 'o'))
ゲスト
結合: 18年前
投稿: 287
 

どうやらそのようですね。


返信引用
wclrp ( 'o')
 wclrp ( 'o')
(@wclrp ( 'o'))
ゲスト
結合: 18年前
投稿: 287
 

実際のメニューってどうやっているんだろう。
たぶんモーダルだから独自のメッセージループを持っているんだろうな。
それがわかれば苦労しないか。
併用すればいいだけの気もするけど。


返信引用
pp
 pp
(@pp)
ゲスト
結合: 17年前
投稿: 6
Topic starter  

すいません併用とはどういうことでしょうか?


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

>今自作のメニューを作成しているのですが、

ん? SDK?ですか?

参考になりませんか
http://www.kumei.ne.jp/c_lang/sdk/sdk_06.htm


返信引用
sx
 sx
(@sx)
ゲスト
結合: 17年前
投稿: 3
 

>マウスキャプチャーはマウスを押してるときしかしたらダメなこと忘れてました
マウスを押し下げた状態からでなくても SetCapture で
自スレッド画面外でのWM_LBUTTONDOWN/UPは拾える。
(WM_MOUSEMOVEは拾えないけどね)


返信引用
sx
 sx
(@sx)
ゲスト
結合: 17年前
投稿: 3
 

↓Advanced Windowsからの引用
ユーザーが他のスレッドによって作成されたウィンドウを
アクティブにしようとした場合には、システムは自動的に
キャプチャーを設定したスレッドにマウスボタン押下、
マウスボタン開放メッセージを送る。


返信引用
sx
 sx
(@sx)
ゲスト
結合: 17年前
投稿: 3
 

くどいかもしれないけど、(^^;
> したらダメ
他スレッドウィンドウ上のWM_MOUSEMOVEが拾えない
ないという制約が付くだけで、してもよい(「禁止」ではない)。


返信引用
pp
 pp
(@pp)
ゲスト
結合: 17年前
投稿: 6
Topic starter  

>ITOさん
すいません説明不足でした。
メニューバーからポップアップメニューまですべて独自のものを作っているという意味です。

>sxさん
わかりやすい説明ありがとうございます。
キャプチャーについて勘違いしてました。
キャプチャーでは実装してみます。

どうもありがとうございました。


返信引用
wclrp ( 'o')
 wclrp ( 'o')
(@wclrp ( 'o'))
ゲスト
結合: 18年前
投稿: 287
 

メッセージループで自アプリのウィンド上でのマウスクリックが取れるはず。
メニュー外のクリックまたはフォーカスが別のアプリに切り替わるとき
メニューを消せばいいんじゃないの。
これで上手く行くかどうか知らんけど。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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