CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何在对话框里贴背景图

楼主juliedan(julie)2000-09-01 22:30:00 在 VC/MFC / 基础类 提问

我是这样做的  
  在OnInitiateDialog()里加入:  
  Invalidate();  
  在OnPaint()里加入:  
  HBitmap   hBitmap;  
  hBitmap   =   ::LoadBitmap(...);  
  ......  
  Bitblt(...);  
  对话框中有button,listbox等控件。运行时,刚开始对话框的控件在bitmap之上,  
  但当你移动对话框时,那些控件时隐时现,请问这是为什么?  
  正确的实现对话框的背景图的方法有是..?  
   
  问题点数:30、回复次数:4Top

1 楼flying_duck(飞天鸭子)回复于 2000-09-01 22:45:00 得分 0

在程序员大本营的光盘里有类似的源程序好像是CBitmapDialog类Top

2 楼ybchen(我)(是)(菜)(鸟)(我)(怕)(谁)回复于 2000-09-01 23:27:00 得分 20

在   WM_ERASEBKGND   消息里面画的东西就是窗口/对话框的背景,  
  随便你画也不会给你的控件带来任何麻烦,也不会画到你的控件上  
  因为Windows就是用在这个消息里画背景  
  如果在   WM_ERASEBKGND   里面只有   return   true;   你的对话框或窗口就“漏”了,  
  因为没有背景就是透明,看不见了。  
   
  VC   的巫师(wizard)不会处理   WM_ERASEBKGND,需要在类里自己填上:  
   
  afx_msg   BOOL   OnEraseBkgnd(   CDC*   pDC   );  
   
  在消息定义自己填上  
  ON_WM_ERASEBKGND()  
   
  就可以了Top

3 楼flyingknight(玫瑰骑士)回复于 2000-09-04 01:38:00 得分 10

直接重载onEraseBkgnd()  
  在里面获取对话框大小,然后填充位图...CDC::Bitblt()Top

相关问题

  • 对话框背景图象的加入
  • 对话框能不能自定义背景颜色,或者贴上背景图片?怎么做?谢谢!
  • 对话框中“贴”位图的问题
  • 请问,如何解决对话框上的自绘按钮控件被背景贴图给遮盖的问题?!
  • 如何改变对话框的背景(图片格式)??
  • 100分,对话框上显示背景图片
  • vc中怎样给对话框加一个图片背景
  • 如何将对话框的背景设置为BMP图形??
  • 如何给对话框放一个背景图片
  • 如何将位图作为对话框的背景

关键词

  • 控件
  • 消息
  • 对话框
  • erasebkgnd
  • 背景
  • hbitmap
  • 图
  • wm
  • 不会

得分解答快速导航

  • 帖主:juliedan
  • ybchen
  • flyingknight

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo