【问题标题】:How to change a background color of a static window in win32API? [duplicate]如何在 win32API 中更改静态窗口的背景颜色? [复制]
【发布时间】: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。使用该信息有选择地选择要应用颜色的控件以及要跳过的控件。

标签: winapi


【解决方案1】:

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

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

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

【讨论】:

  • 哇,谢谢,我可以举个例子吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
  • 2012-10-22
  • 2020-06-16
  • 1970-01-01
相关资源
最近更新 更多