| 域名空间 下载中心 社区论坛 信息公告 MY小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
在VC++项目中为MDI主框架窗口添加位图http://www.iyit.net 日期:2006-5-23 11:53:47 来源:天极yesky 点击: |
![]() 图一、添加彩色位图后的程序界面 一、实现方法 在多文档界面下,应用程序会自动生成一个新的子窗口,而一个实际的应用系统往往是由用户操作后再生成新的窗口。为了去掉开始的子窗口,方便在主框架中添加彩色位图,可在应用程序文件分析命令行的语句
这时候编译运行程序就会反响去掉子窗口只剩下主框架窗口了。因为在多文档界面中,系统生成两个菜单:一个是用户的菜单,另一个是系统主框架菜单。通常用户工作在用户菜单。为了保证菜单界面不变,可修改主框架菜单资源,使其与用户菜单保持一致。 下面我们进入正题,如何在主框架中添加位图。首先要清楚对于一个MDI应用程序的主框架窗口来说,它包含一个特殊的子窗口,称为MDICLIENT窗口,应用程序的主框架类中有一个成员变量m_hWndMDIClient 指的就是MDICLIENT窗口。MDICLIENT窗口负责管理主框架窗口的客户区。直接对MDI客户窗口编程有一定的难度,原因是MDIFrameWnd的客户区完全被MDICLIENT窗口覆盖掉了。正因为上述原因,MDI主窗口类MDIFrameWnd的背景色和光标都不起作用。同时,微软的MFC并不支持将MDICLIENT窗口作为子类,MDICLIENT窗口只能使用标准的背景色和光标,所以对MDI客户窗口编程不能象对普通窗口那样简单地重载WM_PAINT的消息处理函数。 如何解决上述问题呢?解决的方法是我们可以在主框架窗口中截获关于MDICLIENT窗口的重画消息,然后加入自己设计的代码。例如重载PreTranslateMessage(MSG* pMsg)函数,截获MDI客户窗口WM_PAINT消息,在这个函数中向主框架窗口发送WM_PAINT消息,在该消息的处理函数中实现彩色位图的显示。PreTranslateMessage()是消息在送给TranslateMessage()函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当你需要在MFC之前处理某些消息时,常常要在这里添加代码。 需要读者注意的是,不仅要在WM_PAINT消息响应函数中显示图像,还要在主框架类CMainFrame::OnCreate()函数中处理显示函数的代码,否则程序运行后仅显示灰色的背景,只有在窗口改变大小,需要重画时才显示出彩色位图。为什么会这样呢?笔者分析可能是框架的后续处理将最初绘制的彩色位图覆盖掉了。 显示位图的时候用到了位图类CBitmap,CBitmap类封装了WINDOWS的图形设备接口(GDI)中的位图,并提供了很多操作位图的操作。我们还会用到它的一个函数LoadImage(),这个函数可以读入icon、cursor或bitmap,如果函数调用成功则返回读入的对象的句柄。此函数的原型如下:
通过上面函数的定义,我们应该有一个思路了,要想加载位图资源可以有两种方式,一种是将位图导入到我们的资源文件中,一种直接从文件加载它。例如加载位图资源的方法如下:
位图对象建立了,下面要作的是显示它,这便会用到设备环境。显示位图的步骤如下所示(注意两个DC的定义): 1. 建立一个设备DC1,用来显示位图,它与某个要显示图像的窗口相关联; 2. 建立一个内存DC2,它要与设备DC1相兼容; 3. 建立一个位图对象,并载入位图; 4. 选择位图对象选择到内存DC2中,最后通过StretchBlt()函数将内存DC的位图显示到设备DC上;
本新闻共2页,当前在第1页 1 2 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:VC++编程实现对火焰的计算机动态仿真 下一篇:安全性设计 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 最新更新 | 热点排行 | 推荐新闻 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||