为VC MDI主窗口程序加背景图.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
为VC MDI主窗口程序加背景图

为VC MDI主窗口程序加背景图VC是一个功能强大的可视化的开发工具,但是用VC做的标准界面与Windows一样色彩灰 暗单调,例如多文档窗口应用程序中的主框架窗口的背景便是如此。那么能否给主框架窗 口的背景改变一下色彩或是给主框架窗口加上一幅漂亮的图片做背景?其实也不难。但与 单文档窗口应用程序中改变框架窗口的背景方法不同,对多文档窗口应用程序中的主框架 窗口改变背景不能简单地用ClassWizard重载OnEraseBkgnd(CDC* pDC)函数的方法实现。 因为多文档窗口应用程序中的主框架窗口的背景区是一个MDIClient类的窗口,因此改变背 景与这个MDIClient类的窗口有关。MDIClient类的窗口的句柄是m_hWndMDIClient(在CMDI FrameWnd中)。以下是其实现的步骤:   一、 使用MFC AppWizard向导创建一个多文档窗口应用程序   1、在VC的“File”菜单中单击[New],弹出一“New”对话框。在“Projects”页中选 择“MFC AppWizard [exe]”,在“Project name”编辑框中输入“DrawBackground”,按 [OK]按钮,退出“New”对话框。   2、在“MFC AppWizard step 1”对话框到“MFC AppWizard step 6”对话框中选择默 认选项,按[Finish]按钮即完成多文档窗口应用程序的定制。   注:MFC(Microsoft Foundation Class)是MS-Visual C++的类库。   二、向应用程序添加位图   在VC的“View”菜单中单击“Resource Includes...”, 在弹出对话框中选择“Bitm ap”, 按[Import]按钮从文件中加载位图文件,单击“Workspace”的“Resource”便可 见到刚才加载的位图文件,默认的资源标识符为IDB_BITMAP1。   三、用ClassWiard生成一个 CWnd 类的派生类CclientWnd   在CclientWnd类中重载OnEraseBkgnd(CDC* pDC),OnSize(UINT nType, int cx, in t cy)函数,并用手工加入重载的虚函数WNDPROC* CClientWnd::GetSuperWndProcAddr() 用来返回函数指针。   类CclientWnd的头文件代码如下:   class CClientWnd : public CWnd   {   // Construction   public:   CClient();   // Attributes   public:   // Operations   public:   // Overrides   // ClassWizard generated virtual function overrides   file://{{AFX_VIRTUAL(CClientWnd)       public:   virtual WNDPROC* GetSuperWndProcAddr();   file://}}AFX_VIRTUAL   // Implementation   public:   virtual ~CClientWnd();   // Generated message map functions   protected:   file://{{AFX_MSG(CClientWnd)   afx_msg BOOL OnEraseBkgnd(CDC* pDC);   afx_msg void OnSize(UINT nType, int cx, int cy);   file://}}AFX_MSG   DECLARE_MESSAGE_MAP()   };   类CclientWnd的实现文件代码如下:   // CClientWnd message handlers   BOOL CClientWnd::OnEraseBkgnd(CDC* pDC)   {   // TODO: Add your message handler code here and/or call default   CRect rectbk; // 客户区的大小   CDC dcMen; // 内存设备描述表   CBitmap bmbk; // 位图对象   bmbk.LoadBit

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档