在父窗口中更改背景颜色

change background colour in parent window

本文关键字:背景 颜色 窗口      更新时间:2023-10-16

我是Win32API编程的新手。我有3个问题。

如何更改父窗口中的背景颜色。我做的是乡亲,但它不起作用

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上搜索了它,但这被描述为如何使用资源在对话框上添加组框。请帮助我使用这些ISUE ...

  1. > wclass.hbrbackground =(hbrush)(rgb(255,255,255));

我想类结构需要刷子的句柄,而不是颜色值本身(但我不确定)。这样的东西:

wClass.hbrBackground=(HBRUSH)(CreateSolidBrush(RGB(255,255,255)));
  1. 使文本背景透明使用特殊Winapi功能,SetBkMode(TRANSPARENT);(oof,花一些时间记住它的名字:))。

  2. 在大多数任务中在其中添加对话框控件。由于Winforms和WPF,它成为一种常见的做法 - 它们中的每个窗口都是"形式",您可以在其中添加控件,绘制它等等。

我试图记住Microsoft是否放入代码以清除客户端区域。我至少知道,您可以获取客户端rect,然后将其用来将DrawRect()命令基于整个客户端区域。您可能还必须捕获命令才能删除背景