您的位置:首页 > 其它

设置对话框背景色

2011-03-28 12:21 543 查看
具体步骤:

1 给你的工程中的对话框类添加一个CBrush变量,如:

HBRUSH m_bkBrush; //准备一把背景刷子

2 在对话框的初始化函数OnInitDialog中return TRUE的前面添加一行代码:

m_bkBrush.CreateSolidBrush(RGB(255,255,0)); //创建一把黄色的背景刷子

3 最后把你原来的代码改成如下:

HBRUSH CEX06aDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: 在此更改 DC 的任何属性

if(nCtlColor==CTLCOLOR_DLG) //如果是CTLCOLOR_EDIT edit背景色能改变,为什么改为

//edit edit box背景色改不了

return m_bkBrush; //返回刚才创建的背景刷子

// TODO: 如果默认的不是所需画笔,则返回另一个画笔

return hbr;

}

4.在对话框的关闭函数中释放刷子

void CEX06aDialog::OnClose()

{

DeleteObject(m_bkBrush);

CDialog::OnClose();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: