0
如何從父窗口爲子窗口設置光標而不創建子類?從父窗口爲子控件設置光標?
如何從父窗口爲子窗口設置光標而不創建子類?從父窗口爲子控件設置光標?
WM_SETCURSOR消息自動傳遞給父項,所以您可以在那裏處理它。如果子控件實際處理它,那麼你必須對它進行子類化。或者破解消息循環(yuck)。
TCHAR szButtonCoordinates[50];
RECT rect;
switch (message)
{
...
case WM_MOUSEMOVE:
hWndButton = GetDlgItem (hWnd, IDC_BUTTON);
GetClientRect (hWndButton, &rect);
MapWindowPoints (hWndButton, hWnd, (LPPOINT) &rect, 2);
// wsprintf (szButtonCoordinates, _T("Top: %d, Left: %d, Bottom: %d, Right: %d."),rect.top, rect.left, rect.bottom, rect.right);
if (((LOWORD (lParam) >= rect.left) && (LOWORD (lParam) <= rect.right)) && ((HIWORD (lParam) >=rect.top) && (HIWORD (lParam) <= rect.bottom)))
{
//MessageBox (hWndProg3, szButtonCoordinates, _T("Button Coordinates"), MB_ICONINFORMATION);
SetCursor (LoadCursor (NULL, IDC_CROSS));
}
break;
...
}
你會考慮增加一些敘述來解釋爲什麼這段代碼有效嗎?是什麼使它成爲這個問題的答案?這對詢問問題的人以及任何其他人來說非常有幫助。上面代碼中的 – 2013-02-21 05:05:44
處理WM_MOUSEMOVE消息,以在對話框中的子控制窗口上設置不同的光標。 – null 2013-02-21 05:14:36