C++ 更改父窗口中的背景颜色
我对win32api编程非常陌生。我有三个问题 如何更改父窗口中的背景色。我照着下面的方法做了,但不起作用C++ 更改父窗口中的背景颜色,c++,winapi,win32gui,C++,Winapi,Win32gui,我对win32api编程非常陌生。我有三个问题 如何更改父窗口中的背景色。我照着下面的方法做了,但不起作用 wClass.hbrBackground=(HBRUSH)(RGB(255,255,255)); 第二个问题是,我使用如下方式在窗口中添加文本。文本采用粗体字体并带有背景色。我希望文本是正常的,没有背景颜色 PAINTSTRUCT ps; HDC hDC; char szBuffer[]="Hello, World!"; hDC=BeginPaint(hWnd,&
wClass.hbrBackground=(HBRUSH)(RGB(255,255,255));
第二个问题是,我使用如下方式在窗口中添加文本。文本采用粗体字体并带有背景色。我希望文本是正常的,没有背景颜色
PAINTSTRUCT ps;
HDC hDC;
char szBuffer[]="Hello, World!";
hDC=BeginPaint(hWnd,&ps);
TextOut(hDC,10,10,szBuffer,strlen(szBuffer));
第三个问题是如何在父窗口中添加组框。我在internet上搜索了它,但这是如何使用资源在对话框中添加组框的描述。
请有人帮我解决这些问题…我正在努力记住微软是否输入了清除客户端区域的代码。我知道,您至少可以获取客户机rect,然后使用它将drawRect()命令建立在整个客户机区域的基础上。您可能还必须捕获该命令以擦除背景
wClass.hbrBackground=(HBRUSH)(CreateSolidBrush(RGB(255,255,255)));
SetBkMode(transparent)
;(哦,花点时间记住它的名字:))背景绘图应该在绘图过程中完成。@chris我在定义windows类时添加了代码。它不起作用。我把它加在WM_油漆上,它也不起作用。你能清楚地解释一下我应该在哪里添加代码和正确的语法吗?我以为你在类创建后更改了它的成员。您可以使用(IIRC)
wClass.hbrBackground=reinterpret\u cast(颜色窗口+1)代码>白色。我认为应该有一种给背景加颜色的方法。如果我画了一个矩形,有没有可能在矩形上抹上其他的元素,我会试试看。当然谢谢!元素是按代码中的操作顺序绘制的。Windows窗口的客户端区域基本上是一个位图对象。您将永久替换每个像素处的颜色。因此,绘制另一个对象只是将这些位置的像素更改为另一个颜色很好的答案。。。谢谢这个答案回答了我必须面对的所有问题。再次感谢……)对不起,这不会导致内存泄漏吗?据我所知,CreateSolidBrush()
总是需要一个DeleteObject()调用来清理它。你能给我解释一下吗?