如何在 win32API 中更改静态窗口的背景颜色? [复制]

Posted

技术标签:

【中文标题】如何在 win32API 中更改静态窗口的背景颜色? [复制]【英文标题】:How to change a background color of a static window in win32API? [duplicate] 【发布时间】:2019-10-02 01:03:09 【问题描述】:

我正在尝试更改编辑的颜色,win32API 中的静态窗口请帮助。我不知道如何才能做到这一点。

【问题讨论】:

处理 WM_CTLCOLOREDIT 消息以更改编辑的颜色。关于窗口,静态窗口是什么意思? 我的意思是 mainWin = createwindowW(L”static”,”mywin”,ws_chiled,20,20,50,100,NULL,NULL,NULL);我尝试使用 colorstatic 之类的东西,但它会改变程序中每个静态窗口的背景颜色 @PeaceBytheway @PeaceBytheway WM_CTLCOLOR... 消息告诉您当前在每条消息中绘制了哪个 HWND。使用该信息有选择地选择要应用颜色的控件以及要跳过的控件。 【参考方案1】:

EDITSTATIC 控件的父窗口 的窗口过程可以分别处理WM_CTLCOLOREDITWM_CTLCOLORSTATIC 消息。

当控件即将被绘制时,非只读或禁用的编辑控件会向其父窗口发送 WM_CTLCOLOREDIT 消息。通过响应此消息,父窗口可以使用指定的设备上下文句柄来设置编辑控件的文本和背景颜色。

当控件即将被绘制时,静态控件或只读或禁用的编辑控件会向其父窗口发送 WM_CTLCOLORSTATIC 消息。通过响应此消息,父窗口可以使用指定的设备上下文句柄来设置静态控件的文本前景色和背景色。

【讨论】:

哇,谢谢,我可以举个例子吗?

以上是关于如何在 win32API 中更改静态窗口的背景颜色? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

C ++ Win32更改静态颜色[重复]

更改整个控制台背景颜色 (Win32 C++)

在 Win32 中,如何使用更改颜色对话框来更改 STATIC 文本?

在win32中更改无边框窗口的颜色

win10怎样修改窗口背景颜色?

如何动态更改 iexplore 背景颜色