VS2010中 为图片添加背景图片_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > VS2010中 为图片添加背景图片

VS2010中 为图片添加背景图片

 2014/9/15 11:07:43  r163  程序员俱乐部  我要评论(0)
  • 摘要:很简单的东西,嘿嘿voidCTestDlg::OnPaint(){if(IsIconic()){CPaintDCdc(this);//用于绘制的设备上下文SendMessage(WM_ICONERASEBKGND,reinterpret_cast<WPARAM>(dc.GetSafeHdc()),0);//使图标在工作区矩形中居中intcxIcon=GetSystemMetrics(SM_CXICON);intcyIcon=GetSystemMetrics(SM_CYICON)
  • 标签:VS2010 2010 图片

很简单的东西,嘿嘿

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

是不是很简单呢

发表评论
用户名: 匿名