改变对话框的背景色的几种方法
2011-10-25 17:14
190 查看
改变对话框的几种常用方法如下:方法一:调用CWinApp类的成员函数SetDialogBkColor来实现。 值得注意的是:在调用DoModal()之前必须先调用SetDialogBkColor,且此方法是将改变应用程序中所有的对话框颜色,并不能针对某一个指定的对话框,并且这个方法在5.0以后的版本中已经不支持。方法二:重载OnPaint(),即WM_PAINT消息。有关代码如下:
if (IsIconic()) … else { CRect rect; CPaintDC dc(this);
GetClientRect(rect); dc.FillSolidRect(rect,RGB(0,255,0)); //设置为绿色背景 CDialog::OnPaint(); }方法三:重载OnCtlColor (CDC* pDC, CWnd* pWnd, UINT nCtlColor),即WM_CTLCOLOR消息。在相应函数中,直接返回我们预先创建的画刷。
HBRUSH CFasonDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); return m_brMine; }
HBRUSH CExampleDlgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);//在这加一条是否为对话框的判断语句if(nCtlColor ==CTLCOLOR_DLG)return m_brush; //返加绿色刷子return hbr;}前者使全部都变成我们指定的颜色,后者可以进行区分。
相关文章推荐
- VC改变对话框的背景色的方法(4种)
- VC中改变对话框背景色的多种方法
- 改变窗体背景色的几种方法
- 只改变MFC对话框背景色的另一种方法
- ExtJs默认的字体大小改变的几种方法(自己整理)
- Silverlight弹出对话框的几种方法
- 【转】ASP.NET弹出对话框几种基本方法
- ASP.NET弹出对话框几种基本方法
- MFC改变对话框中的CEdit控件的背景色
- Android建立对话框基本的几种方法
- 几种MFC对话框的隐藏方法
- 改变对话框背景色,对话框内文本的颜色与背景色
- 【Unity&NGUI】改变NGUI的圆环Sprite透明度的几种方法以及利弊
- MFC不同对话框使用公共数据的几种方法
- 几种MFC对话框的隐藏方法
- Numpy 改变数组维度的几种方法小结
- 使用JQ来改变HTML文档的几种方法
- 模态对话框与非模态对话的几种销毁方法与区别
- 模态对话框与非模态对话的几种销毁方法与区别
- vue的几种绑定变量的值 防止其改变的方法