本文主要讲解如何在MFC单文档界面(SDI)应用程序中定制外观,包括窗口图标、标题、光标、背景、工具栏和状态栏编辑、程序启动画面制作等。文章的撰写主要参考了孙鑫老师的《VC++深入详解》一书。
SDI应用程序包含两个窗口:程序框架窗口(包括标题栏,菜单栏、工具栏和状态栏等)和视类窗口(文字图形等的编辑区域)。两者之间的关系是前者包含了后者,后者覆盖在前者的上面(这点在编程时需要格外注意)。
一、修改程序窗口的图标、标题、光标和背景
在MFC SDI应用程序中,如果想要修改程序窗口的图标和标题,则应该在框架类(CMainFrame)中编辑实现;如果想要修改程序窗口的背景和图标,就应该在视类(CXXXView)中编辑实现,XXX是你创建的工程名。
1.在窗口创建前修改
在框架类和视类的PreCreateWindow函数中分别调用AfxRegisterWndClass全局函数来修改窗口的图标、光标和背景。该函数的原型声明如下:
LPCTSTR AFXAPI AfxRegisterWndClass ( UINTnClassStyle, HCURSOR hCursor = 0, HBRUSH hbrBackground = 0, HICON hIcon = 0 )
可以看到该函数后三个参数都有默认值,函数的返回值就是注册后的类名。
下面给出了具体的参考代码: