动态修改对话框的背景颜色 通过点击按钮来弹出颜色对话框,然后根据选择的颜色来动态修改对话框的背景颜色,怎么实现该过程? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 OnEraseBkgnd(CDC *pDC)color 全局变量 这个function设置 bg color然后按下button的响应,你就改变 color的值 添加类成员变量CBrush m_brush;m_brush.CreateSolidBrush(RGB(255, 255, 255));响应WM_CTLCOLOR()事件HBRUSH CXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if(nCtlColor ==CTLCOLOR_DLG) return m_brush; return hbr;}void CXXDlg::OnBnClickedbtn(){ //把颜色选择框的值填到红色部分中 m_brush.CreateSolidBrush(RGB(0, 255, 255)); Invalidate();} 谢谢楼上的朋友,我就因为没有调用Invalidate();才发生错误的,感谢你的帮助 那是因为你点完第一个按钮之后,再点第二个按钮的时候你的m_brush没有释放掉。 ////在上面代码的基础上更改如下void CMy1Dlg::OnButton1() { // TODO: Add your control notification handler code here m_brush.DeleteObject(); //增加这句 m_brush.CreateSolidBrush(RGB(0, 255, 255)); Invalidate(); }void CMy1Dlg::OnButton2() { // TODO: Add your control notification handler code here m_brush.DeleteObject(); //增加这句 m_brush.CreateSolidBrush(RGB(0, 255, 0)); Invalidate(); } 使用VC6.0的问题 VC++ Oracle中写入图片数据 怎样在自定义的类中接收自定义的消息 头文件包含问题. 鼠标按下,如何得到鼠标当前所在控件的指针 统计一下,看大家相不相信有这种事:只要在你工程中加一条语句,工程界面风格变成XP风格 该如何修改文件内容 这是什么错误?初学者的问题! 如何改变一个Edit的背景颜色?具体!!! mfc 我创建一个ocx控件,想注册一个类名? CToolTipCtrl 能不能显示空白处的信息
color 全局变量
这个function设置 bg color然后按下button的响应,你就改变 color的值
m_brush.CreateSolidBrush(RGB(255, 255, 255));
响应WM_CTLCOLOR()事件
HBRUSH CXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if(nCtlColor ==CTLCOLOR_DLG)
return m_brush;
return hbr;
}void CXXDlg::OnBnClickedbtn()
{
//把颜色选择框的值填到红色部分中
m_brush.CreateSolidBrush(RGB(0, 255, 255));
Invalidate();
}
{
// TODO: Add your control notification handler code here
m_brush.DeleteObject(); //增加这句
m_brush.CreateSolidBrush(RGB(0, 255, 255));
Invalidate(); }
void CMy1Dlg::OnButton2()
{
// TODO: Add your control notification handler code here
m_brush.DeleteObject(); //增加这句
m_brush.CreateSolidBrush(RGB(0, 255, 0));
Invalidate();
}