[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-??????]の発行と実行順番について | しん URL | 2009/09/10-08:32 |
メーカー名:東芝 OS名:WindowsXp パソコン名:PAEX522PDE3 -- ウインドウメッセージの発行順番と実行順番について質問します。 ■[WM-CREATE]は最初だと思いますが、例えばプログラムに[WM-TIMER],[WM-LBUTTONDOWN], [WM-MOUSEMOVE],[WM-PAINT]の順に記載したら、この順に発行、実行されるのでしょうか? ■同じ事で、上記で[WM-PAINT]を[WM-TIMER]の前に記載したら、記載順に発行実行されますか? ■「ドラッグ」する場合、メッセージはどの様に発行されますか? |
▲このページのトップに戻る
483403 | Re:[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のあとはマイナスでもハイフンでもダッシュでもなく、アンダースコアだから。 # 読んでて気色悪い。 |
▲このページのトップに戻る
483405 | Re:[WM_??????]の発行と実行順番につい | しん | 2009/09/10-20:17 |
記事番号483403へのコメント jtaka[BJCB]さん 有難うございます。 説明不足ですいません。 >それはメッセージを発行しているのではなく、ディスパッチされたメッセージに従って >分岐して処理を行っているってこと。 その通りです、 >あと、余談だけど。 これも、その通りです。 ・・・・何れも、考え違いをしていました。 失礼しました。 色々、こんがらがっていました。 最後の 「ドラッグ」の時にメッセージはどの様に出るのでしょうか? |
▲このページのトップに戻る
483407 | Re:[WM_??????]の発行と実行順番につい | jtaka[BJCB] | 2009/09/10-20:30 |
記事番号483405へのコメント しんさんは No.483405「Re:[WM_??????]の発行と実行順番につい」で書きました。 >「ドラッグ」の時にメッセージはどの様に出るのでしょうか? 当然のごとく、WM_MOUSEMOVEを処理することになるでしょう。 マウスを特定のウィンドウからキャプチャすることで、そのウィンドウにのみマウス 関連のメッセージが送られるので、それを処理するというのが定石だと思います。 SetCaptureとReleaseCaptureについて調べましょう。 追記: もし、タイトルバーのないウィンドウを掴んで移動するとかいうような話しで あるのならば、WM_NCHITTESTあたりを調べるってことになりそうな気がするする。 「ドラッグ」で何をしたいのかを特定しないと明確なことは示されないかも しれない。 おいらは、Platform SDKレベルのプログラミングについては畳水練もいいとこ なので、他の人のアドバイスを待つべきかも知れん。 ていうか、もっとプログラミングに特化されたサイトで訊いた方が早くね? あとは、Petzoldの聖典に還るとかね。 |
▲このページのトップに戻る
483412 | Re:[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; いつも有難うございます。 |
何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり
参考 | 回数 | 投稿日時 | 何か一言 |
---|