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

时间:2015-08-07 23:30:55

标签: c++ windows winapi

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

编辑:这是我创建框

的代码
SetDlgItemText(hDlg, IDC_EDIT2, password_string);

2 个答案:

答案 0 :(得分:2)

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

在对话框proc中使用如下代码; 对于编辑控件: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;

答案 1 :(得分:1)