WM_KEYDOWN、WM_KEYUPのタイミング

[戻る]
たま 2005/07/29(金) 11:41:47
WM_KEYDOWN、WM_KEYUPがメッセージを受け取るタイミングについて質問いたします。

イベント関数にて上キーが押されたらフラグをTrue、上キーが離されたらフラグをfalse
にするようにしたいのですが、うまくいきません。上キーが押し続けられている間はず
っとTrueで、離されたらfalseになることを期待しているのですが。。。
いろいろ試した結果、どうやら上キーが押された瞬間にWM_KEYDOWNだけでなくWM_KEYUP
まで呼ばれているようです。
なぜでしょうか? ちなみにソースは以下です。すみません、教えてください。

LRESULT CALLBACK MsgProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
    switch (msg){
    case WM_KEYDOWN:                // 何かキーが押された
        {
        switch (wParam)
        {
        case VK_UP:
            g_up = true;
            break;
        default:
            break;
        }
        }
    case WM_KEYUP:
        {
        switch (wParam)
        {
        case VK_UP:
            g_up = false;
            break;
        default:
            break;
        }
        }
    return DefWindowProc(hWnd,msg,wParam,lParam);
}

n 2005/07/29(金) 11:48:57
> case WM_KEYDOWN:
> case WM_KEYUP:

これらのcase節自身のbreak;が無いようですが。

たま 2005/07/29(金) 12:04:24
[[解決]]
nさん
回答ありがとうございます。

解決いたしました。

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