• VS2010中 为图片添加背景图片


    很简单的东西,嘿嘿

    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.     }  

    是不是很简单呢

  • 相关阅读:
    <转>性能测试浅谈
    Linux内存机制以及手动释放swap和内存
    Jmeter(十二)_打印时间戳
    Jmeter(二十一)_脚本参数化与内存溢出的解决方案
    Jmeter(五)_函数
    爬虫利器_you-get
    Jmeter(九)_获取JDBC响应做接口关联
    JMeter(十三)-代理服务器录制脚本
    JMeter(十)-正则表达式关联
    JMeter(十四)-自动生成测试报告
  • 原文地址:https://www.cnblogs.com/rr163/p/3967692.html
Copyright © 2020-2023  润新知