(sdk编程)在设置EDIT只读时,如何同时实现其背景色仍旧为白色? 一个EDIT在设置为只读时“(hWnd, EM_SETREADONLY, (WPARAM)TRUE, (LPARAM)NULL);”,其背景色变为灰色,有没有办法让其仍旧为白色,希望有代码说明? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 重载OnCtlColor(...在里面加上大概如下样子的代码static HBRUSH hbrEdit = ::CreateSolidBrush(RGB(255,255,255)); if(nCtlColor == CTLCOLOR_STATIC){ if(pWnd->GetDlgCtrlID() == IDC_EDT_xxxx) { pDC->SetBkColor(RGB(255,255,255)); return hbrEdit;}} 父窗口响应WM_CTLCOLOREDIT消息:case WM_CTLCOLOREDIT: return (LONG)GetStockObject(WHITE_BRUSH); 其实可以用一个婉转的方式来实现你需要的功能建立两个控件一个static更换背景白色显示你的文字当可读的时候用edit代替把static隐藏 不好意思弄错了,只读的EDIT是WM_CTLCOLORSTATIC消息,你改成这个消息就可以了。 请问如何禁止文本框的删除和写入功能,我不会MFC。。。 CRichEditCtrl动态创建的问题 如何判断通讯接收的是一组完整的数据 如何在VS2008中添加windows消息处理函数 一个简单的TCP服务程序,线程错误,不知道原因? 请教一个基础问题!!!!见笑了 请教关于函数的问题 讨论一下如何看MSDN的例子。 CString的问题 请locust进来领分,多谢相助》》》 关于Listen,accept,connect的入门级疑问 MSProject Addin无法得到Application指针及其他Com指针?
在里面加上大概如下样子的代码static HBRUSH hbrEdit = ::CreateSolidBrush(RGB(255,255,255));
if(nCtlColor == CTLCOLOR_STATIC)
{
if(pWnd->GetDlgCtrlID() == IDC_EDT_xxxx)
{
pDC->SetBkColor(RGB(255,255,255));
return hbrEdit;
}
}
case WM_CTLCOLOREDIT:
return (LONG)GetStockObject(WHITE_BRUSH);
建立两个控件
一个static更换背景白色显示你的文字
当可读的时候用edit代替把static隐藏
不好意思弄错了,只读的EDIT是WM_CTLCOLORSTATIC消息,你改成这个消息就可以了。