我在VC技术内幕书中遇到一段例程,是关于更改控件颜色的。我将代码敲入后,却发现只能更改EDIT控件的字体背景,却无法更改对话框的背景。请问:
1:这是什么原因?
2:需要在OnInitDialog中初始化HBRUSH类型数据成员m_hYellowBrush和m_hRedBrush吗?如何初始化?(下附程序代码)
谢谢!
HBRUSH CMyDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if(nCtlColor==CTLCOLOR_EDIT){
pDC->SetBkColor(RGB(255,255,0));
return m_hYellowBrush;
}
if(nCtlColor==CTLCOLOR_DLG){
pDC->SetBkColor(RGB(255,0,0));
return m_hRedBrush;
}
return CDialog::OnCtlColor(pDC,pWnd,nCtlColor);
}
1:这是什么原因?
2:需要在OnInitDialog中初始化HBRUSH类型数据成员m_hYellowBrush和m_hRedBrush吗?如何初始化?(下附程序代码)
谢谢!
HBRUSH CMyDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if(nCtlColor==CTLCOLOR_EDIT){
pDC->SetBkColor(RGB(255,255,0));
return m_hYellowBrush;
}
if(nCtlColor==CTLCOLOR_DLG){
pDC->SetBkColor(RGB(255,0,0));
return m_hRedBrush;
}
return CDialog::OnCtlColor(pDC,pWnd,nCtlColor);
}
解决方案 »
- 求助error LNK2001: unresolved external symbol
- 如何处理大量动态创建控件的消息映射
- 链接错误,请大家帮忙改一下,谢谢!!!
- 我是新手,谁能帮我解释一下注册窗口,窗口类的问题?
- 关于connect()的一些问题
- 用过MSFlexGrid的朋友请进!
- 调用子窗体的showdialog()之后无法显示窗体——C#语言,菜鸟求解。
- MFC ADO 写access数据库,""空字符串写入会出错
- 请问如何用GetMessage()方法获得SendMessage()方法传递的参数?还是应用其他方法?
- 请诸位给我介绍几本DDK编程的书?
- 有哪位大虾知道发送超文本的原理和方法
- 小弟请教一个问题 连接问题请高手帮忙
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_EDIT){
pDC->SetBkColor(RGB(255,255,0));
hbr = m_hYellowBrush;
}
else
{
pDC->SetBkColor(RGB(255,0,0));
hbr = m_hRedBrush;
}
return hbr;
}