创建有个性的对话框之 MFC 篇
想使自己的软件与众不同就要给软件加点“色”,一个颜色搭配协调的窗口
要比 windows 千篇一律的灰底黑字更能吸引别人的眼球。设想如果 html 浏览
器显示的网页都是白底黑字,还会有那么多的 mm 喜欢上网吗?可能互联网的
人气将下降一半。做个出色的界面对于老手来说可能不在话下,但是对于新手
来说还是无从下手,使用 BCGControlBar 和 Xtreme Toolkit 是个很好的选
择,不过对于一个小程序使用这么大的库未免有头重脚轻的感觉。其实不使用
这些庞然大物一样可以做个很“色”的界面,本文就结合 CSDN 论坛上经常被问
起的问题,介绍几个给对话框上色的方法。本文的方法都是针对 MFC 程序的,
其他方法请参看“创建有个性的对话框之 ATL/WTL 篇”。
第一步:改变对话框的背景颜色
如何改变对话框的背景颜色这个问题常常出现在论坛上,可见大家对
Windows 默认的灰色对话框是多么不满。MFC 程序修改对话框的背景和文字
颜色最简单的方法就是调用 SetDialogBkColor 函数,SetDialogBkColor 是
CWinApp 类的成员函数,以下是该函数的原型:
void CWinApp::SetDialogBkColor(COLORREF clrCtlBk, COLORREF
clrCtlText);
请注意,SetDialogBkColor 函数并不是对 Windows 的某个 API 的封装,
他是 MFC 框架的一部分,所以不使用 MFC 的程序也就不能享受这种方便。这
个函数的使用很简单,在程序的 CWinApp 派生类的 InitInstance 函数中添加
一行代码就行了:
SetDialogBkColor(RGB(188,197,230),RGB(13,125,188));
图.1 就是运行效果:
- 1
- 2
- 3
前往页