- ベストアンサー
親ウインドウのウインドウハンドルの必要性について
お願いします。 WIN98 VC++6.0 SDKにて ウインドウをクリックするとダイアログボックスが表示されるサンプルプログラムがあります。 MessageBox(hWnd, s, "ダブルクリック", MB_OK);の第1引数には親ウインドウのウインドウハンドルを指定するとありましたが、NULLに変えても問題無く動きました。 第1引数はなんでも良いのでしょうか? また、必ず親ウインドウのウインドウハンドルを指定しなければならない時はどのような場合でしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
それでは、第1引数にウィンドウハンドルを指定して、メッセージボックスを表示してください。そして、メッセージボックスの表示中に、第1引数で指定したウィンドウの操作を試みてください。おそらく操作できないはずです。このような状況にしたい場合にオーナーウィンドウを指定します。
その他の回答 (2)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>NULLに変えても問題無く動きました。 問題あって動いてます。 ボタンクリック時などに警告メッセージボックスを表示させるときに NULLにしてしまうと、何度でも押せてしまうので、メッセージボックスが複数出てくる状態になります。 本来、メッセージボックスを表示するときは、親ウィンドウはロックされるべきです。
お礼
回答ありがとうございます。
- rara_sun
- ベストアンサー率50% (271/539)
まったくプログラミングについては素人なので間違っていたらご容赦を。でも、調べたないようは、合ってると思います・・。 第1引数にNULLをいれると、オーナーハンドルを意味するようですよ。VCは使ったことないですが、ヘルプ付いてないんですね。不便ですよね? http://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_messagebox.htm >第1引数はなんでも良いのでしょうか? 上のURLをみるとばっちり書いてます。 > また、必ず親ウインドウのウインドウハンドルを指定しなければならない時はどのような場合でしょうか? プログラミングの経験がなく、コメントできません。すいません。親ウィンドウのメッセージとして表示したいときってどんなときかな~?子ウィンドウがない場合は、どうしたってオーナーウィンドウは、親ですよね?それじゃ~回答になりませんね。失礼しました。
お礼
回答ありがとうございます。
お礼
回答ありがとうございます。 おっしゃる内容確認できました。 これで必要性が良く分かりました。