很简单的东西,嘿嘿

  1. void CTestDlg::OnPaint()
  2. {
  3. if (IsIconic())
  4. {
  5. CPaintDC dc(this); // 用于绘制的设备上下文
  6. SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
  7. // 使图标在工作区矩形中居中
  8. int cxIcon = GetSystemMetrics(SM_CXICON);
  9. int cyIcon = GetSystemMetrics(SM_CYICON);
  10. CRect rect;
  11. GetClientRect(&rect);
  12. int x = (rect.Width() - cxIcon + 1) / 2;
  13. int y = (rect.Height() - cyIcon + 1) / 2;
  14. // 绘制图标
  15. dc.DrawIcon(x, y, m_hIcon);
  16. }
  17. else
  18. {
  19. CPaintDC dc(this);
  20. CRect rect;
  21. GetClientRect(&rect);//获取客户的的大小
  22. CDC  memDC;
  23. CBitmap cBitmap;
  24. CBitmap* pOldMemBmp=NULL;
  25. cBitmap.LoadBitmap(IDB_BITMAP1);
  26. memDC.CreateCompatibleDC(&dc);//创建一个设备对象上下文
  27. pOldMemBmp=memDC.SelectObject(&cBitmap);
  28. BITMAP   bmp;
  29. cBitmap.GetBitmap(&bmp);
  30. SetStretchBltMode(dc,STRETCH_HALFTONE);//据说能减少失真
  31. dc.StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
  32. memDC.SelectObject(pOldMemBmp);
  33. CDialogEx::OnPaint();
  34. }
  35. }

是不是很简单呢

VS2010中 为图片添加背景图片的更多相关文章

  1. netbeans中给jpanl添加背景图片制定代码的理解——匿名内部类继承父类

    此测试是为了仿照在netbeans中给jpanl添加背景图片的制定代码的执行过程 在JpDemo中定义了个Car类的数据类型,但在给其赋值对象时使用了匿名内部类,继承了Car类,是其子类,并重写了父类 ...

  2. iOS 中 为UIView添加背景图片

    创建UIImage的方法有两种: UIImage *image = [UIImageimageNamed:@"image.jpg"];//这种不释放内存,要缓存 NSString ...

  3. html中给元素添加背景图片或者gif动图

    添加背景图片有四种常用的方式,分别是: repeat    完全平铺 repeat-x    横向平铺 repeat-y    纵向平铺 no-repeat    不平铺 使用示例: <!DOC ...

  4. VC++MFC对话框程序中给对话添加背景图片

    VC对话框怎么显示背景图片呢.在MFC中实现背景图片,不像C#应用程序那么简单.今天就和朋友们说说如何在VC界面中设置背景图片 ^_^   工具/原料 Visual C++ 2010 方法一:用Pic ...

  5. Qt中为QPushButton添加背景图片

    有2种方式,一种是在代码中设置,另外一种是直接在Qt Creator中直接设置,下面是第二种 参考: http://doc.qt.io/qt-4.8/stylesheet-examples.html ...

  6. MFC中 给基于CFormView的单文档添加背景图片

    关于基于CFormView的单文档应用程序,添加一个图片背景的方法之一如下: 下面是利用LoadImage实现.(先在程序目录中添加背景图片back.bmp) 1.在view类中添加类成员变量:(为C ...

  7. extjs中新建窗体时,给窗体添加背景图片不显示问题之一

    1.在extjs中新建窗体时,给窗体添加背景图片不显示,例如下面的代码. 不显示的原因:因为设置了  layout: 'fit', Ext.create('Ext.Window', { title: ...

  8. Java怎么添加背景图片

    首先,导入相关的包: import java.awt.BorderLayout; import java.awt.Container; import javax.swing.ImageIcon; im ...

  9. GUI的优化操作/添加背景图片等

    一.背景图片的添加这是JAVA中添加背景图片的方式,基本思路先建立一个Label标签,然后建立一个层次的布局,将label标签添加到最下面去. ImageIcon image=new ImageIco ...

随机推荐

  1. SqlServer 事务日志传输

    基本概念 可以使用日志传送将事务日志不间断地从一个数据库(主数据库)发送到另一个数据库(辅助数据库).不间断地备份主数据库中的事务日志,然后将它们复制并还原到辅助数据库,这将使辅助数据库与主数据库基本 ...

  2. JavaScript之数据类型

    1. 种类 5种基本类型:Number.String.Null.Undefined.Boolean 1种对象类型:Object(Function.Array.Date) 特别注意:当把基本类型尝试以对 ...

  3. 如何恢复oracle中已删除的表

    在9i中Oracle引入了flashback的概念,可以将数据返回到某个时间点,但对于诸如drop/truncate等DDL语句却尚不支持.进入Oracle10g,这一缺陷得到了弥补.可以将丢失掉的表 ...

  4. Excel对话框大全

    Excel对话框大全 序号 名称 描述 1 Application.Dialogs(1).Show 是调用打开对话框  2 Application.Dialogs(5或145).Show 是调用另存为 ...

  5. Codevs 4600 [NOI2015]程序自动分析

    4600 [NOI2015]程序自动分析 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 在实现程序自动分析的过程中,常常需 ...

  6. C/C++中memset函数

    本文学习参考http://baike.baidu.com/link?url=ZmSyY8ciB_nJt9KM-W2fiEFJrC2mugFsLqRdY2b4pLe8rD_jRXyN7_pj0GBBD2 ...

  7. Matlab网格划分

    之前转载了一篇博客http://blog.sina.com.cn/s/blog_6163bdeb0102dvay.html,讲Matlab网格划分程序Distmesh,看了看程序,感觉程序写得有很多值 ...

  8. c++ primer复习(五):类

    一:基本内容 1 类 数据成员:用于存储与类对象相关联的状态 成员函数:对数据成员进行操作 类将接口与实现分离,接口指定了类支持的操作,操作的具体实现细节是类的设计者才需要了解 2 类成员 类成员可以 ...

  9. System V 消息队列

    3.1 概述 消息队列结构: struct msqid_ds { struct ipc_perm msg_perm; //权限结构 struct msg *msg_first; //队列中第一个消息 ...

  10. C++输入输出缓冲区的刷新问题

    当我们对文件流进行操作的时候,它们与一个streambuf 类型的缓存(buffer)联系在一起.这个缓存(buffer)实际是一块内存空间,作为流(stream)和物理文件的媒介.例如,对于一个输出 ...