在 MFC 中,弹框的背景颜色可以通过设置对话框的背景色属性来实现。但是默认情况下,对话框中的编辑框(edit)的文本颜色是黑色。这是因为对话框中的编辑框的文本颜色是由系统默认的文本颜色控制的。

要改变编辑框中文本的颜色,你可以通过以下两种方法来实现:

方法一:在对话框类的 OnInitDialog() 函数中,添加以下代码:

CWnd* pEdit = GetDlgItem(IDC_EDIT1); // IDC_EDIT1 是编辑框的 ID
if(pEdit != nullptr)
{
    pEdit->SetTextColor(RGB(255, 0, 0)); // 将文本颜色设置为红色
}

方法二:在对话框类的 OnCtlColor() 函数中,添加以下代码:

HBRUSH CMyDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);

    if(pWnd->GetDlgCtrlID() == IDC_EDIT1) // IDC_EDIT1 是编辑框的 ID
    {
        pDC->SetTextColor(RGB(255, 0, 0)); // 将文本颜色设置为红色
    }

    return hbr;
}

以上两种方法可以让编辑框中的文本颜色显示为红色。你可以根据实际情况选择其中一种方法来实现。

MFC 弹框编辑框字体颜色问题:红色字体显示为黑色解决方案

原文地址: https://www.cveoy.top/t/topic/bMZA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录