掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
GetMessageの仕様についてPart2 (ID:57626)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 自分的にはこのGetMessageのif文によりTRUE時(メッセージ取得時)に > Translate&Dispatchが実行され、FALSE時(WM_QUITorエラー)にはそれらを > 実行しないものだと認識しているのですがどこが悪いのか詳細を教えて > 頂けたらと思います。(力不足で申し訳ないです) エラー時には -1 が返ります。 FALSE は 0、TRUE は 0 以外のすべてですので、-1 は TRUE と見なされ、ループが継続されてしまいます。 …という解説は MSDN の GetMessage の項にも書いてあるのですが、未だに VC++ の Win32 AppWizard はこういうソースを書いてくれます。困ったもんだ。 > GetMessage文を削除し、PeekMessageでメッセージを受け取りPM_REMOVEで > Translate&Dispatchしてみようと試みましたがやはりだめでした。 > (メッセージを受け取らずキー操作等を認識せず) できましたヨ? 少なくとも WM_CHAR は認識しましたが。 強いて違う点を挙げるとするならば、第2引数に NULL を指定すると、GetMessage は PostThreadMessage で投げられたメッセージも取得するのに対し、PeekMessage はウィンドウにポストされたメッセージしか扱わず、スレッドにポストされたメッセージも扱いたい場合は -1 を指定しなければならない、ということくらいでしょうか。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.