gpt4 book ai didi

c++ - 根据命令创建或删除 GDI 形状

转载 作者:太空宇宙 更新时间:2023-11-04 12:03:14 25 4
gpt4 key购买 nike

我正在创建一个 win32 应用程序。在主窗口上有 5 个按钮。在每个按钮前面都画了一个小圆圈。 (使用 GDI 工具。如果是 WM_PAINT)。现在当我按下一个按钮时,它前面的圆圈应该变成红色。我该怎么做。

如果我们随时创建一个编辑框,我们可以使用 SendMessege 更改上面的文本。像那样可以更改先前绘制的形状的颜色。

请有人能给我一个建议。

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hDC;
HBRUSH brusha;

hDC=BeginPaint(hWnd,&ps);
brusha=CreateSolidBrush(RGB(0,255,0));
SelectObject(hDC,brusha);
Ellipse(hDC, 20, 20, 50, 50);
DeleteObject(brusha);
EndPaint(hWnd, &ps);
}

case WM_COMMAND:
switch(LOWORD(wParam))
{
case BUTTON:
{
//here I need to change the above drawn corcle to be red.
}
}

最佳答案

您无法更改已绘制图像的颜色,但可以重新绘制它。使用 Windows 函数 InvalidateRect 告诉控件它需要重绘,您将再次调用您的 WM_PAINT 处理程序。在绘制圆圈之前,在处理程序中选择所需的颜色。

关于c++ - 根据命令创建或删除 GDI 形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13274458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com