如何给MFC对话框添加背景图片 .

简介: 1、添加背景图片到“Bitmap”资源里。方法为“插入——资源”,如果还没有Bitmap,则新建一个Bitmap,否则选择资源      类型为“Bitmap”后“引入”想要插入的背景图片,我加入的背景图片如图1,加入过程如图2。

1、添加背景图片到“Bitmap”资源里。方法为“插入——资源”,如果还没有Bitmap,则新建一个Bitmap,否则选择资源
      类型为“Bitmap”后“引入”想要插入的背景图片,我加入的背景图片如图1,加入过程如图2。  

 

 
图1


 

      
图2  

                            说明:引入的图片可以插入256色、16位色或更高色的图片,若是其他格式图片可用PS打开再另存为BMP、24位windows格式就可
                    以了。提示说该资源使用了大于256色的调色板,在VC里无法编辑等等,点确定就可以了,没有影响的。

2、定位到  void CXXXDlg::OnPaint(),在if()...else()中的else()下添加如下代码:
   else  
   {  
          //CDialog::OnPaint();//要禁止这个调用  
          CPaintDC   dc(this);  
          CRect   rect;  
          GetClientRect(&rect);  
          CDC   dcMem;  
          dcMem.CreateCompatibleDC(&dc);  
          CBitmap   bmpBackground;  
          bmpBackground.LoadBitmap(IDB_BITMAP);   //IDB_BITMAP是你自己的图对应的ID   ,由于我刚刚加入的位图资源
                                                                            //被我命名成了IDB_Bg,因而我这句就是bmpBackground.LoadBitmap(IDB_Bg);  
                  
          BITMAP   bitmap;  
          bmpBackground.GetBitmap(&bitmap);  
          CBitmap   *pbmpOld=dcMem.SelectObject(&bmpBackground);  
          dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,  
         bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);  
    }


3、编译运行结果如图3。
                              
                                  

图3  

4、通过属性设置把边框隐藏起来并更改对话框的大小结果更好一点,如图4。

 

  
图4
 
 
目录
相关文章
|
3月前
|
索引
MFC工具栏和状态栏
MFC工具栏和状态栏
20 1
|
4月前
MFC隐藏对话框边框和可拖动
MFC隐藏对话框边框和可拖动
|
5月前
[MFC] 对话框自带滚动条的使用
[MFC] 对话框自带滚动条的使用
46 0
|
5月前
[Qt5] 右键窗体弹出菜单,实现图像适应窗体大小
[Qt5] 右键窗体弹出菜单,实现图像适应窗体大小
51 0
MFC修改窗口背景颜色
MFC修改窗口背景颜色
220 0
MFC更改窗口/对话框的背景颜色
MFC更改窗口/对话框的背景颜色
148 0
MFC更改窗口/对话框的背景颜色
|
存储 Windows
MFC 窗体背景图片设置
很多人在做MFC 界面的时候想要给对话框加入背景图片,很多人都会想到在OnPaint()里面来加一段代码来实现,其实这样做并不怎么科学,因为它会导致窗口不断重绘,在很多项目中窗口会闪烁(比如带播放视频的一个对话框);下面的方法我感觉更为合理。
2027 0
MFC实现为窗体添加的背景图片
将一个bmp图片添加到资源中 在资源视图中更改位图资源的ID为IDB_BITMAP_BACKGROUND。   第一种方法:   在Dialog中添加一个Picture Control控件,将Picture Control控件的Type属性 更改为Bitmap。
840 0
在MFC对话框中添加状态栏
如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图)。 1. 首先,打开在资源视图的String Table并添加两个ID:ID_INDICATOR_NISH 和ID_INDICATOR_TIME,如下图 2.
1133 0
|
C#
WPF 标题栏 右键窗口标题添加关于对话框
原文:WPF 标题栏 右键窗口标题添加关于对话框 /// /// wpf标题栏 右键菜单 中添加新项 /// public partial class MainWindow : Window { private const int W...
1191 0