[WM-??????]の発行と実行順番について



 ◇-?[WM-??????]の発行と実行順番について-しん-09/10-08:32(318)-No.483378
   ┗?!Re:[WM-??????]の発行と実行順番...-jtaka[BJCB]-09/10-19:00(307)-No.483403
     ┗?!~Re:[WM_??????]の発行と実行順...-しん-09/10-20:17(306)-No.483405
       ┗?!~!Re:[WM_??????]の発行と実行順...-jtaka[BJCB]-09/10-20:30(306)-No.483407
         ┗?!~!【多分解決】Re:[WM_??????]の...-しん-09/11-08:52(294)-No.483412

▲このページのトップに戻る
483378[WM-??????]の発行と実行順番についてしん URL2009/09/10-08:32

メーカー名:東芝
OS名:WindowsXp
パソコン名:PAEX522PDE3
--
ウインドウメッセージの発行順番と実行順番について質問します。

■[WM-CREATE]は最初だと思いますが、例えばプログラムに[WM-TIMER],[WM-LBUTTONDOWN],
[WM-MOUSEMOVE],[WM-PAINT]の順に記載したら、この順に発行、実行されるのでしょうか?

■同じ事で、上記で[WM-PAINT]を[WM-TIMER]の前に記載したら、記載順に発行実行されますか?

■「ドラッグ」する場合、メッセージはどの様に発行されますか?

▲このページのトップに戻る
483403Re:[WM-??????]の発行と実行順番についjtaka[BJCB] 2009/09/10-19:00

記事番号483378へのコメント
しんさんは No.483378「[WM-??????]の発行と実行順番について」で書きました。

>■[WM-CREATE]は最初だと思いますが、例えばプログラムに[WM-TIMER],[WM-LBUTTONDOWN],
>[WM-MOUSEMOVE],[WM-PAINT]の順に記載したら、この順に発行、実行されるのでしょうか?
>
>■同じ事で、上記で[WM-PAINT]を[WM-TIMER]の前に記載したら、記載順に発行実行されますか?
↑これらがウィンドウプロシジャのswitch〜caseでの話ならば、根本的に誤解している。
それはメッセージを発行しているのではなく、ディスパッチされたメッセージに従って
分岐して処理を行っているってこと。
ていうか、switch〜caseの意味を理解していないのならば、C言語の基礎から勉強しなおし!
ってことになりますが。


あと、余談だけど。
WMのあとはマイナスでもハイフンでもダッシュでもなく、アンダースコアだから。
# 読んでて気色悪い。

▲このページのトップに戻る
483405Re:[WM_??????]の発行と実行順番についしん 2009/09/10-20:17

記事番号483403へのコメント
jtaka[BJCB]さん 有難うございます。

説明不足ですいません。

>それはメッセージを発行しているのではなく、ディスパッチされたメッセージに従って
>分岐して処理を行っているってこと。

その通りです、

>あと、余談だけど。

これも、その通りです。

・・・・何れも、考え違いをしていました。

失礼しました。
色々、こんがらがっていました。

最後の
「ドラッグ」の時にメッセージはどの様に出るのでしょうか?




▲このページのトップに戻る
483407Re:[WM_??????]の発行と実行順番についjtaka[BJCB] 2009/09/10-20:30

記事番号483405へのコメント
しんさんは No.483405「Re:[WM_??????]の発行と実行順番につい」で書きました。

>「ドラッグ」の時にメッセージはどの様に出るのでしょうか?
当然のごとく、WM_MOUSEMOVEを処理することになるでしょう。
マウスを特定のウィンドウからキャプチャすることで、そのウィンドウにのみマウス
関連のメッセージが送られるので、それを処理するというのが定石だと思います。
SetCaptureとReleaseCaptureについて調べましょう。

追記:
もし、タイトルバーのないウィンドウを掴んで移動するとかいうような話しで
あるのならば、WM_NCHITTESTあたりを調べるってことになりそうな気がするする。
「ドラッグ」で何をしたいのかを特定しないと明確なことは示されないかも
しれない。

おいらは、Platform SDKレベルのプログラミングについては畳水練もいいとこ
なので、他の人のアドバイスを待つべきかも知れん。
ていうか、もっとプログラミングに特化されたサイトで訊いた方が早くね?
あとは、Petzoldの聖典に還るとかね。

▲このページのトップに戻る
483412Re:[WM_??????]の発行と実行順番についしん 2009/09/11-08:52

記事番号483407へのコメント
jtaka[BJCB]さん 有難うございました。

ご教示の項目を調ます。

>追記:
>もし、タイトルバーのないウィンドウを掴んで移動するとかいうような話しで
>あるのならば、WM_NCHITTESTあたりを調べるってことになりそうな気がするする

上記の件は下記の様に処理しています。
case WM_LBUTTONDOWN:
 pt.x=LOWORD(lp); //MOUSE_X座標
 pt.y=HIWORD(lp);
 if(!PtInRect(&GameRect, pt)){ //画面移動判定
  PostMessage(hWnd,WM_NCLBUTTONDOWN,(WPARAM)HTCAPTION,lp);
 }
break;

いつも有難うございます。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言