VC是一个功能强大的可视化的开发工具,但是用VC做的标准界面与Windows一样色彩灰暗单调,例如多文档窗口应用程序中的主框架窗口的背景便是如此。那么能否给主框架窗口的背景改变一下色彩或是给主框架窗口加上一幅漂亮的图片做背景?其实也不难。但与单文档窗口应用程序中改变框架窗口的背景方法不同,对多文档窗口应用程序中的主框架窗口改变背景不能简单地用ClassWizard重载OnEraseBkgnd(CDC*pDC)函数的方法实现。因为多文档窗口应用程序中的主框架窗口的背景区是一个MDIClient类的窗口,因此改变背景与这个MDIClient类的窗口有关。MDIClient类的窗口的句柄是m_hWndMDIClient(在CMDIFrameWnd中)。以下是其实现的步骤:一、使用MFCAppWizard向导创建一个多文档窗口应用程序1、在VC的“File”菜单中单击[New],弹出一“New”对话框。在“Projects”页中选择“MFCAppWizard[exe]”,在“Projectname”编辑框中输入“DrawBackground”,按[OK]按钮,退出“New”对话框。2、在“MFCAppWizardstep1”对话框到“MFCAppWizardstep6”对话框中选择默认选项,按[Finish]按钮即完成多文档窗口应用程序的定制。注:MFC(MicrosoftFoundationClass)是MS-VisualC++的类库。二、向应用程序添加位图在VC的“View”菜单中单击“ResourceIncludes...”,在弹出对话框中选择“Bitmap”,按[Import]按钮从文件中加载位图文件,单击“Workspace”的“Resource”便可见到刚才加载的位图文件,默认的资源标识符为IDB_BITMAP1。三、lientWnd类中重载OnEraseBkgnd(CDC*pDC),OnSize(UINTnType,intcx,intcy)函数,lientWnd::GetSuperWndProcAddr()用来返回函数指针。类CclientWnd的头文件代码如下:lientWnd:Wnd{//lient();//Attributespublic://Operationspublic://Overrides//ClassWizardgeneratedvirtualfunctionoverridesfile://{{lientWnd)public:virtualWNDPROC*GetSuperWndProcAddr();file://}}AFX_VIRTUAL//Implementationpublic:lientWnd();//Generatedmessagemapfunctionsprotected:file://{{lientWnd)afx_msgBOOLOnEraseBkgnd(CDC*pDC);afx_msgvoidOnSize(UINTnType,intcx,intcy);file://}}AFX_MSGDECLARE_MESSAGE_MAP()};类CclientWnd的实现文件代码如下://lientWnd::OnEraseBkgnd(CDC*pDC){//TODO:Addyourmessagehandlercodehereand/
添加背景图片 来自淘豆网m.daumloan.com转载请标明出处.