MFC 在静态文本控件和picture控件上显示位图
最后更新于:2022-04-01 09:38:46
### 1.在静态文本控件上显示位图
首先把图片添加到资源管理器中,ID:IDB_BITMAP_LOGIN_PIC
在对话框中放一个静态文本控件,ID:IDC_STATIC1 ,然后再OnInitDialog()函数中添加如下代码:
~~~
HBITMAP hBitmap;
//关联图片ID
hBitmap =(HBITMAP)LoadImage(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDB_BITMAP_LOGIN_PIC),
IMAGE_BITMAP,0,0,
LR_LOADMAP3DCOLORS);
//获得指向静态控件的指针
CStatic *pStatic=(CStatic *)GetDlgItem(IDC_STATIC1);//控件ID
//设置静态控件的样式,使其可以使用位图,并试位标显示使居中
pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
//设置静态控件显示位图
pStatic->SetBitmap(hBitmap);
~~~
### 2.在picture控件上显示位图
在picture上显示位图与静态文本控件上显示位图,做法差不多。
(1)在对话框里放置一个picture控件,并修改picture控件的属性,把类型改为位图,图像选择要加载的位图,此时就可以看到picture控件中显示位图的效果了
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-24_56cd85c8bedc9.jpg)
(2)代码实现在picture控件显示位图
首先用LoadImage()函数装载位图资源,然后显示;代码如下
~~~
hBitmap =(HBITMAP)LoadImage(AfxGetInstanceHandle(),
MAKEINTRESOURCE(RED_Bitmap),
IMAGE_BITMAP,0,0,
LR_LOADMAP3DCOLORS);
CStatic *pStatic=(CStatic *)GetDlgItem(IDC_STATIC1);//控件ID
pStatic->SetBitmap(RED_Bitmap);
~~~
其中RED_Bitmap是位图资源的ID号,IDC_STATIC1为picture控件的ID号