【发布时间】:2012-11-08 03:47:24
【问题描述】:
我正在创建一个 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.
}
}
【问题讨论】:
-
有很多方法可以做到这一点。你用的是什么语言 C++?
-
@TonyHopkinson 是的,我正在使用 C++。
-
@TonyHopkinson 所以请给我一个关于如何做这种事情的建议。
-
@TonyHopkinson 我正在等待您的帮助。我正在使用 c++,mingw 编译器。请解释我如何做到这一点。我用谷歌搜索了这个并参考了一些教程,但对此一无所知。
-
会出现 Mark Ransom 已将您指向的方向,我现在已经看到了您拥有的代码。单击更改颜色并强制重新绘制。几乎所有语言都应该这样做。