更改 SetDlgItemText 颜色的正确方法是什么?

What's the proper way of changing the color of SetDlgItemText?

本文关键字:方法 是什么 SetDlgItemText 颜色 更改      更新时间:2023-10-16

问题非常直接,我使用SetDlgItemText来显示文本,但我想将文本颜色从黑色更改为灰色,因此它在屏幕上显示为灰色。我尝试了settextcolor,知道这是一个很长的镜头,它没有工作。

编辑:这是我的代码,创建框

SetDlgItemText(hDlg, IDC_EDIT2, password_string);

您没有提及该控件是静态控件还是编辑控件。

在对话过程中使用如下代码:对于case WM_CTLCOLOREDIT:下的编辑控件和case WM_CTLCOLORSTATIC:下的静态控件

case WM_CTLCOLOREDIT:
    if (::GetDlgCtrlID((HWND) lParam) == IDC_MY_CONTROL)
    {   HBRUSH hbr = (HBRUSH) DefWindowProc(hDlg, iMessage, wParam, lParam);
        SetTextColor((HDC) wParam, RGB(192, 192, 192));
        return (BOOL) hbr;
    }
    return FALSE;

对于Stock对话框不能这样做。

选项#1 -使用WM_CTLCOLORSTATIC

  • http://www.wischik.com/lu/programmer/setdlgitemurl.html
  • https://groups.google.com/forum/!主题/comp.os.ms-windows.programmer.win32 GLUZu-zH0TQ

选项#2 -通过交换/切换到富编辑控件来使用RTF

  • https://msdn.microsoft.com/en-us/library/bb787877 (v = VS.85) . aspx
  • http://www.cplusplus.com/forum/general/49319/