2010-04-07 62 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); 
    } 
} 
相关问题