2010-04-07 77 views
0

我有一個按鈕與我需要知道x和按一下按鈕,y座標時,WM_COMMAND被激活

//Create Compass 
    HWND hWndCompass = CreateWindowEx(NULL, "BUTTON", "Compass", WS_TABSTOP|WS_VISIBLE|WS_CHILD|BS_DEFPUSHBUTTON, 
     600, 10, 50, 24, hWnd, (HMENU)IDC_COMPASS, GetModuleHandle(NULL), NULL); 

創建我會在將來添加的圖片,但我需要知道的按鈕他們點擊,所以我可以確定他們是否點擊N,S,E,W或指南針的其他點。

我的電話是:

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) 

我需要爲infomration消息在看?

回答

1

爲了獲取點擊鼠標的X和Y座標上的按鈕,你應該:

  • 在的WndProc()函數,趕上WM_MOUSEMOVE事件
  • 一旦引發該事件, wParam會給你的事件類型(哪個按鈕被按下)
  • 所需的事件,您可以通過lParam
檢索座標210

類似的東西:

RESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) 
{ 
    switch (message) 
    { 
    case WM_MOUSEMOVE: 
    { 
     if (lParam == MK_LBUTTON) 
     { 
     myXCoord = GET_X_LPARAM(lParam); 
     myYCoord = GET_Y_LPARAM(lParam); 
     } 
    } 
    break; 
    default: 
     DefWindowProc(hWnd, message, wParam, lParam); 
    } 
} 
相關問題