WM_PAINT 和鼠标事件。 MFC/WIN32 API
WM_PAINT and MOUSE Event. MFC/WIN32 API
我的 WM_PAINT 中有两个矩形,我想在其上绘制 Frame Rect 一旦 WM_MOUSE 触发了在每个矩形上切换的单击事件。这甚至可能吗?
请参阅上面@RemyLebeau 关于您的鼠标点击的评论。然后,在您的 WndProc 中,类似于:
switch (uMsg)
{
// ...
case WM_PAINT:
{
PaintStruct ps;
HDC hDC = BeginPaint (hWnd, &ps);
HBRUSH hBrush = (HBRUSH) GetStockObject (LTGRAY_BRUSH); // say
if (draw_first_rectangle)
FrameRect (hDC, &my_first_rectangle, hBrush);
if (draw_second_rectangle)
FrameRect (hDC, &my_second_rectangle, hBrush);
EndPaint (hWnd, &ps);
return 0;
}
// ...
}
return DefWindowProc (hWnd, uMsg, wParam, lParam);
我相信你可以填空。
我的 WM_PAINT 中有两个矩形,我想在其上绘制 Frame Rect 一旦 WM_MOUSE 触发了在每个矩形上切换的单击事件。这甚至可能吗?
请参阅上面@RemyLebeau 关于您的鼠标点击的评论。然后,在您的 WndProc 中,类似于:
switch (uMsg)
{
// ...
case WM_PAINT:
{
PaintStruct ps;
HDC hDC = BeginPaint (hWnd, &ps);
HBRUSH hBrush = (HBRUSH) GetStockObject (LTGRAY_BRUSH); // say
if (draw_first_rectangle)
FrameRect (hDC, &my_first_rectangle, hBrush);
if (draw_second_rectangle)
FrameRect (hDC, &my_second_rectangle, hBrush);
EndPaint (hWnd, &ps);
return 0;
}
// ...
}
return DefWindowProc (hWnd, uMsg, wParam, lParam);
我相信你可以填空。