重拾MFC小细节之设置静态文本前、背景色
2014-01-14 10:49
204 查看
在大一时,学过MFC,不过那时刚接触编程,C/C++学完不久,跟重要的是没动手编程,后来又做ACM去了。现在大三了,各种实验课设老师都要求用VC可视化,于是借着机会学了点MFC皮毛,在此总结一些常用技巧,简直贻笑大方了!由于很多东西没有上升的理论层面,在此只能介绍下应用,方便学习交流,同时以备后面用到。
首先谈谈设置静态文本前、背景色。我只用到了其中一种,在此列出。
要使静态文本透明化,首先添加消息响应函数WM_CTLCOLOR。一般步骤为点击菜单栏“查看”,选择“建立类向导”,在相应对话框类中选择”WM_CTLCOLOR“,系统自动添加HBRUSH
XXXX类::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 函数,然后在里面添加代码即可,如下:
1.此代码是不显示背景色的。
效果图如下:
![](https://img-blog.csdn.net/20140114104908125?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGoyNDE5MTc0NTU0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2.此代码是显示背景色的。
![](https://img-blog.csdn.net/20140114105500984?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGoyNDE5MTc0NTU0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
注意在创建该对话框出即调用该类对话框DoModal()前添加语句SetDialogBkColor(RGB(100,200,100),RGB(0,0,255))设置静态文本的颜色。
以上代码可能参照先驱博客,在此表示感谢!如有错误,欢迎大牛斧正!
首先谈谈设置静态文本前、背景色。我只用到了其中一种,在此列出。
要使静态文本透明化,首先添加消息响应函数WM_CTLCOLOR。一般步骤为点击菜单栏“查看”,选择“建立类向导”,在相应对话框类中选择”WM_CTLCOLOR“,系统自动添加HBRUSH
XXXX类::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 函数,然后在里面添加代码即可,如下:
1.此代码是不显示背景色的。
/*********************************************** *功能:改变对话框中静态文本的颜色对话框 * ************************************************/ HBRUSH MyLoginDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if(nCtlColor==CTLCOLOR_STATIC) { pDC->SetBkMode(TRANSPARENT); return HBRUSH(GetStockObject(HOLLOW_BRUSH)); } return hbr; }
效果图如下:
2.此代码是显示背景色的。
/*********************************************** *功能:改变对话框中静态文本的颜色对话框 * ************************************************/ HBRUSH MyLoginDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); return hbr; }效果图如下:
注意在创建该对话框出即调用该类对话框DoModal()前添加语句SetDialogBkColor(RGB(100,200,100),RGB(0,0,255))设置静态文本的颜色。
以上代码可能参照先驱博客,在此表示感谢!如有错误,欢迎大牛斧正!
相关文章推荐
- MFC 可以设置背景色、字体、字体颜色、透明背景的 Static 静态文本控件
- MFC静态文本控件如何设置字体--大小和颜色及背景色
- MFC 可以设置背景色、字体、字体颜色、透明背景的 Static 静态文本控件
- VC2005 MFC静态文本框背景色设置
- MFC 可以设置背景色、字体、字体颜色、透明背景的 Static 静态文本控件
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- 转:MFC静态文本与窗口背景色一致
- CHyperLink MFC中static静态文本设置超链接
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- 怎样让在OnPaint中设置的对话框背景色和静态文本,编辑框等控件的背景色一致,这样看起来才协调
- MFC对话框静态文本颜色设置
- MFC 静态文本设置透明
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- MFC 静态文本框使用/更改button背景色/不使能button/设置标题/不显示控件/窗口最大最小化
- MFC设置对话框、静态文本框、编辑框的背景及文本
- 如何设置MFC静态文本背景为透明色?
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- 如何设置MFC静态文本背景为透明色?