CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

求助:对话框中背景图变化

楼主Eog(天之眼)2005-03-02 13:54:51 在 VC/MFC / 界面 提问

对话框中背景图变化,位图在硬盘上,能够加载到对话框的背景上面,最好能有例程,谢谢 问题点数:30、回复次数:4Top

1 楼happyparrot(快乐鹦鹉)回复于 2005-03-02 14:04:14 得分 0

用LoadImage函数就可以读入硬盘中的位图文件了。Top

2 楼legendhui(秋天的叶子)回复于 2005-03-02 14:14:30 得分 3

在OnPaint函数里  
   
  CPaintDC   dc(this);   //   device   context   for   painting  
   
  CBitmap     bitmap;  
  bitmap.LoadBitmap(IDB_BITMAP1);  
   
  BITMAP   bmpInfo;  
  bitmap.GetBitmap(&bmpInfo);  
   
  CDC   dcMemory;  
  dcMemory.CreateCompatibleDC(&dc);  
   
  CBitmap   *pOldBmp   =   dcMemory.SelectObject(&bitmap);  
   
  dc.BitBlt(0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,&dcMemory,0,0,SRCCOPY);Top

3 楼kuboybat(保镖)回复于 2005-03-02 14:21:51 得分 0

LoadImage,如楼上所说!:)Top

4 楼lanstar200(待我景天大侠斩妖除魔)回复于 2005-03-02 14:35:51 得分 27

CDC   m_dcMem;  
  CBitmap   m_bmMem;  
   
  void   CTest3Dlg::OnButton1()    
  {  
  //   TODO:   Add   your   control   notification   handler   code   here  
   
  HBITMAP   hBitmap   =   (HBITMAP)::LoadImage(   NULL   ,   "E:\\1.bmp"   ,   IMAGE_BITMAP   ,   0   ,   0   ,   LR_LOADFROMFILE);  
  if(hBitmap   ==   NULL)   return;  
   
  if(m_dcMem.GetSafeHdc()   !=   NULL)  
  m_dcMem.DeleteDC();  
  if(m_bmMem.GetSafeHandle()   !=   NULL)  
  m_bmMem.DeleteObject();  
   
  m_bmMem.Attach(hBitmap);  
   
  CDC   *dc   =   GetDC();  
  m_dcMem.CreateCompatibleDC(   dc   );  
  m_dcMem.SelectObject(m_bmMem);  
  ReleaseDC(dc);  
   
  Invalidate();  
  }  
  void   CTest3Dlg::OnDestroy()    
  {  
  CDialog::OnDestroy();  
   
  //   TODO:   Add   your   message   handler   code   here  
  if(m_dcMem.GetSafeHdc()   !=   NULL)  
  {  
  m_dcMem.DeleteDC();  
  }  
  if(m_bmMem.GetSafeHandle()   !=   NULL)  
  {  
  m_bmMem.DeleteObject();  
  }  
  }  
  void   CTest3Dlg::OnPaint()    
  {  
  CPaintDC   dc(this);  
  if(m_dcMem.GetSafeHdc()   !=   NULL   )  
  {  
  CRect   rc;  
  GetClientRect(&rc);  
  dc.BitBlt(   0   ,   0   ,   rc.Width()   ,   rc.Height()   ,   &m_dcMem   ,   0   ,   0   ,   SRCCOPY);  
  }  
  }Top

相关问题

  • 对话框背景图象的加入
  • 如何在对话框里贴背景图
  • 如何改变对话框的背景(图片格式)??
  • 100分,对话框上显示背景图片
  • vc中怎样给对话框加一个图片背景
  • 如何将对话框的背景设置为BMP图形??
  • 如何给对话框放一个背景图片
  • 如何将位图作为对话框的背景
  • 为什么对话框的背景位图会失真?
  • 如何用一幅图片作为对话框的背景

关键词

  • dc
  • null
  • bmmem
  • 对话框
  • dcmemory
  • dcmem
  • bmpinfo
  • bitmap
  • 背景
  • hbitmap

得分解答快速导航

  • 帖主:Eog
  • legendhui
  • lanstar200

相关链接

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

广告也精彩

反馈

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