首页 > 编程语言 > 详细

【转】MFC添加背景图片方法的三种方法

时间:2015-06-30 23:34:20      阅读:237      评论:0      收藏:0      [点我收藏+]

原帖1:http://www.cnblogs.com/xiao-cheng/archive/2012/01/17/2325114.html

原帖2:http://www.cnblogs.com/fanghui/p/3565067.html

 

 

方法1:使用StretchBlt()函数,具有图像自适应窗体功能

//在Onpaint函数中加入如下代码    
//----------给窗口设置背景图片----------------------------
        CPaintDC dc(this);
        CRect   myrect;   
        GetClientRect(&myrect);   
        CDC   dcMem;   
        dcMem.CreateCompatibleDC(&dc);   
        CBitmap   bmpBackground;   
        bmpBackground.LoadBitmap(IDB_BITMAP1);   //IDB_BITMAP_TOOL是你自己的图对应的ID 
        BITMAP   bitmap;   
        bmpBackground.GetBitmap(&
        bitmap);   
        CBitmap   *pbmpOld=dcMem.SelectObject(&bmpBackground);   
        dc.StretchBlt(0,0,myrect.Width(),myrect.Height(),&dcMem,0,0,   
        bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);

 

方法2:

1、声明成员变量               
CBrush m_brush;
2、在InitDialog中添加代码: CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP1); //IDB_BITMAP1是图片资源ID m_brush.CreatePatternBrush(&bmp); 3、重载对话框的OnCtlColor,改最后的返回值: return (HBRUSH)m_brush;

 

方法3:把下面这段代码加进OnPaint()里就行了

CPaintDC dc(this);
CBitmap   bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);     // 这个IDB_BITMAP1要自己添加
CBrush   brush; 
brush.CreatePatternBrush(&bitmap);
CBrush*   pOldBrush   =   dc.SelectObject(&brush);
dc.Rectangle(0,0,200,200);          // 这些参数可以调整图片添加位置和大小
dc.SelectObject(pOldBrush);    

 

【转】MFC添加背景图片方法的三种方法

原文:http://www.cnblogs.com/Lthis/p/4611943.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!