ループ処理についての質問

[戻る]
・_・ 2002/03/21(木) 22:19:24
VC++で、VBのDoEvents関数を使ったときのような硬貨を再現するにはどうしたらいいんでしょ
うか?

YuO [E-Mail] 2002/03/21(木) 23:58:47
とりあえず,誤字のチェックくらいはした方がいいですよ。


でもって,DoEventsで検索すればズバリが出てきますが……。

・VBで言うところのDoEvents、VC++では?
スレッド作成:ぐるこ 2001/10/22(月) 15:04:08
最終発言:Bun 2001/10/22(月) 15:20:34

dairygoods 2002/03/22(金) 10:12:39
過去ログの方に補足ですが、

>     MSG    msg;
>     if (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
>         ::TranslateMessage(&msg);
>         ::DispatchMessage(&msg);
      }

MFCの場合PreTranslateMessage()がありますので、これだけでは不十分で、

if (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) &&
    !AfxGetThread()->PreTranslateMessage(&msg)) {
    ::TranslateMessage(&msg);
    ::DispatchMessage(&msg);
}

または、

if (::PeekMessage(&msg, NULL, NULL, NULL, PM_NOREMOVE)) {
    AfxGetThread()->PumpMessage();
}

とする必要があります。

CWinThread::PumpMessage()のソースが参考になります。

古いスレッドには追加発言できません。