让只读的编辑框有白色的背景
接上一篇文章(让Edit编辑框中的文字不被选中)。。。。。。。。。。
我们现在的只读编辑框,现在是灰色的,怎么让它的背景变成白色的呢?
添加OnCtlColor()函数。(怎么添加:在类视图里面,右键点击那个类,弹出一个对话框,选则 Add windows Message Handler,接着选择 WM_CTLCOLR。然后,选择Add and Edit。)
// 因为本人是从小白开始的,所以对于有些东西,还是讲细一些比较好。。我现在也还在继续摸索中。。。
// 希望各位读者能耐心看。
HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes of the DC here // 改变只读编辑框背景颜色(默认是灰色) if (pWnd->GetDlgCtrlID() == IDC_EDT_SHOWDATA) { // 设置背景为白色 pDC->SetBkColor(RGB(255,255,255)); // 设置文字为黑色 pDC->SetTextColor(RGB(0,0, 0)); // 返回白色画刷 return (HBRUSH)GetStockObject(WHITE_BRUSH); } // TODO: Return a different brush if the default is not desired return hbr; }
OK。又分享完了。红色字体部分,是我添加的代码。
赶紧运行一个Demo看看效果吧。