如何在Win32中使用SetTextColor更改文本SetDlgItemText的颜色?

问题描述 投票:0回答:1

当我在Win32中工作时,我想使用SetDlgItemText显示一条消息。该消息应根据成功或失败而改变其颜色(例如,绿色表示成功,红色表示失败)。

该功能的代码:if { //if user does not enter a key SetDlgItemText(hDlg, ID_RESULT, L"Please enter a key"); return false; } else { SetDlgItemText(hDlg, ID_RESULT, L"Please enter all the user information"); return false; }

在以上代码中,“请输入密钥”和“请输入所有用户信息”应为红色,表示失败。我们将ID_RESULT的默认设置为绿色。是否可以在IF条件本身中使用SetTextColor功能更改颜色,或者提供其他选项

winapi win32com win32-process
1个回答
2
投票

如果使用编辑控件,请参考WM_CTLCOLOREDIT

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

如果使用静态控件,请参考WM_CTLCOLORSTATIC

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

有关代码的详细操作,请参见this

© www.soinside.com 2019 - 2024. All rights reserved.