如何在 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 @PeaceBythewayWM_CTLCOLOR...
消息告诉您当前在每条消息中绘制了哪个 HWND
。使用该信息有选择地选择要应用颜色的控件以及要跳过的控件。
【参考方案1】:
EDIT
和STATIC
控件的父窗口 的窗口过程可以分别处理WM_CTLCOLOREDIT
和WM_CTLCOLORSTATIC
消息。
当控件即将被绘制时,非只读或禁用的编辑控件会向其父窗口发送 WM_CTLCOLOREDIT 消息。通过响应此消息,父窗口可以使用指定的设备上下文句柄来设置编辑控件的文本和背景颜色。
当控件即将被绘制时,静态控件或只读或禁用的编辑控件会向其父窗口发送 WM_CTLCOLORSTATIC 消息。通过响应此消息,父窗口可以使用指定的设备上下文句柄来设置静态控件的文本前景色和背景色。
【讨论】:
哇,谢谢,我可以举个例子吗?以上是关于如何在 win32API 中更改静态窗口的背景颜色? [复制]的主要内容,如果未能解决你的问题,请参考以下文章