设置对话框中编辑框的背景颜色和字体颜色

    xiaoxiao2021-03-25  189

    最近要实现一个功能,类似Cmd等控制台窗口的样式。一个对话框中放置一个编辑框,需要在窗口开启后将编辑框的背景色设置为黑色,将其上面的字体颜色设置为白色。于是百度了一下,发现功能的实现很容易,需要添加WM_CTLCOLOR消息的响应函数:OnCtlColor。代码如下:

     

    HBRUSH CShellDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何特性 // TODO: 如果默认的不是所需画笔,则返回另一个画笔 if (pWnd->GetDlgCtrlID()==IDC_DISPLAY) { pDC->SetBkColor(RGB(0,0,0)); pDC->SetTextColor(RGB(255,255,255)); hbr=(HBRUSH)GetStockObject(BLACK_BRUSH); return hbr; } return hbr; }

    效果图如下:

     

     

    如果我们需要改变其它控件的背景颜色以及字体颜色等相关功能,也可以添加次消息响应函数来实现,方法类似。

    转载请注明原文地址: https://ju.6miu.com/read-2697.html

    最新回复(0)