3

Win API を少しだけ学習しようとしています。MS ペイントに少し似た、基本的な描画アプリを作ろうとしています。

当分の間、1 つの機能を動作させようとしています。つまり、マウスを左クリックして画面上でドラッグすると、マウスの後ろに線が引かれます。これは私がこれまでに持っているものですが、何らかの理由で:

1) 線は左クリックを待つのではなく、すぐに描画を開始します。

case WM_MOUSEMOVE:
{


    if(MK_LBUTTON){
    hdc = GetDC(hwnd);
    hPen = CreatePen(PS_SOLID,5,RGB(0, 0, 255));
    SelectObject(hdc, hPen);

    int x = LOWORD(lParam);
    int y = HIWORD(lParam);

    MoveToEx(hdc,x,y,NULL);
    LineTo(hdc, LOWORD(lParam), HIWORD(lParam));
    ReleaseDC(hwnd,hdc);
    }
    else
        break;

}

}

助けてくれてありがとう!

4

1 に答える 1

1

WM_LBUTTONDOWNプログラム内の変数をtrue("はい、マウスは現在ダウンしています) に設定する必要があります。次に、そのWM_MOUSEMOVE変数をチェックして、それを描画するだけですtrueWM_LBUTTONUP次に、その変数を に設定しますfalse。(変数は false に初期化する必要があります。 )。

于 2012-12-02T12:07:58.893 に答える