我的做法是把它的背景色先更改了
再用SetReadOnly()函数
但是背景色还是被变成灰色了
如何在设置ReadOnly以后还能把EditBox的背景色也能更改呢?
谢谢
再用SetReadOnly()函数
但是背景色还是被变成灰色了
如何在设置ReadOnly以后还能把EditBox的背景色也能更改呢?
谢谢
解决方案 »
- [高分在线]请教一个动态链接库德问题,为什么GetProcAddress获得的地址不正确,调试时发现总是直接跳转其他的函数内部去了
- 怎么给mfc的ActiveX中传递内存数据???
- CListCtrl 控件如何用代码选择一个项目,就像用鼠标选择,当前控件为Report类型
- 请大家推一个vc6的下载地址。找好几个都不正常。谢谢。
- 怎样及时的更新button的位置,在线等
- 请问CScrollView的两个问题
- 请问各位大虾,有什么好的工具能把*.dat文件转换成*.rm格式的???
- 大家帮帮忙,串口通信的问题。
- 控件ID每次运行时都不一样,如何去获取其句柄?
- MFC初学一个奇怪问题
- 这样一个函数定义是什么意思?void Msg(TCHAR *szFormat, ...);
- 我用getsavefilename和getopenfilename,在win2000下无法打开对话筐,返回错误CDERR_INTTIALIIZE
只看见红色一闪
代码如下
HBRUSH CNetChangeMsgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// TODO: Change any attributes of the DC here
if( nCtlColor == CTLCOLOR_EDIT )
{
//pDC->SetBkColor(RGB(255,255,255));
m_editWnd.SetReadOnly(TRUE);
pDC->SetBkColor(RGB(255,0,0));
pDC->SetTextColor(RGB(0,0,0));
//HBRUSH w_hbr= ::CreateSolidBrush(RGB(255,255,255));
HBRUSH w_hbr= ::CreateSolidBrush(RGB(255,0,0));
//HBRUSH w_hbr = brush;
return w_hbr;
}
// TODO: Return a different brush if the default is not desired
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}
但是对于只读的编辑框,它取的颜色不是编辑框的颜色而是静态控件的颜色,也就是说楼上的错法是看不到效果的,将判断改为if( nCtlColor == CTLCOLOR_STATIC )就好了。