クリックされてもアクティブにならないウインドウ

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: クリックされてもアクティブにならないウインドウ

レスありがとうございます。

by jacoby » 2006年11月05日(日) 21:14

MessageBox関数の前に
EnableWindow([モードレスウィンドウのハンドル],FALSE)
MessageBox関数の後に
EnableWindow([モードレスウィンドウのハンドル],TRUE)

※意図する動作にならないかもしれませんが…
 hiraさん、レスありがとうございます。
ホントに、上手く行きました。"EnableWindow"、これを使うんですね。
しっかり非アクティブのままで控えてくれる。意図する動作、そのものです。
長いこと詰まっていたとこが、これで上手くいくんじゃないかと
思います。

 レス、ありがとうございました。またよろしくお願いします。

Re: クリックされてもアクティブにならないウインドウ

by hira » 2006年11月04日(土) 08:51

単純にアクティブにしないだけなら、EnableWindow関数でウィンドウを無効にしてしまえばよいかと思います。
MessageBox関数の前に
EnableWindow([モードレスウィンドウのハンドル],FALSE)
MessageBox関数の後に
EnableWindow([モードレスウィンドウのハンドル],TRUE)

※意図する動作にならないかもしれませんが…

クリックされてもアクティブにならないウインドウ

by jacoby » 2006年11月04日(土) 00:03

 クリックされてもアクティブにならないウインドウが作れないかと思っています。

 例えば、メインウインドウと、一つのモードレスウインドウから成るアプリが
あるとして、
 メインウインドウの処理で何らかのエラーが発生した時、
それをメッセージボックスで表示したとします。
そのメッセージボックスが表示されている間(okボタンなどの入力待ちの間)は、
モードレスダイアログをアクティブにしたくないのです。

(Googleなどで検索してみたところではアクティブ、非アクティブの判断に
「WM_NCACTIVATE」等のメッセージが使えそうな感じもしたのですが、
実際にどうすればアクティブにさせないように出来るのか掴めていません。)

 何か良い方法があれば是非教えて下さい。

ページトップ