MFC CStatic或picture控件怎么显示图片

来源:百度知道 编辑:UC知道 时间:2024/06/28 00:05:47
一个基于对话框的MFC应用程序框架
CStatic Image;
Image的ID是IDC_pic;
IDB_MYBITMAP是资源的一张图片
要怎么在Image上显示这张图片
什么函数是控件的大小和位置,如果是picture控件呢,请用代码,我是要做点击下切换张图片,要添加控件的大小和位置

PictureBox 控件的主要作用是为用户显示图片。实际显示图片由 Picture 属性决定。Picture属性包括被显示的图片的文件名(及可选的路径名)。
  注意 窗体对象也具有 Picture 属性,通过设置该属性可直接在窗体背景上显示图片。
  要在运行时显示或替换图片,可利用函数 LoadPicture 来设置 Picture 属性。提供图片文件名和可选路径名,由LoadPicture 函数处理加载和显示图片的细节。
  picMain.Picture = LoadPicture("VANGOGH.BMP")
  PictureBox 控件具有 AutoSize 属性,当该属性设置为 True 时,PictureBox 能自动调整大小与显示的图片匹配。如果要用 AutoSize 属性设置为 True 的 PictureBox ,设计窗体时就需要特别小心。图片将不考虑窗体上的其它控件而调整大小,这可能导致意想不到的后果,如覆盖其它控件。设计时应通过加载每一幅图片来检查是否有这种现象发生。

直接在编辑界面,打开它们的属性页,然后选择Bitmap类型,下面选择ID就可以了。

补充:
CBitmap bmp;
bmp.LoadBitmap(IDB_PAGE2);
m_pic1.SetBitmap((HBITMAP)bmp);
bmp.Detach();
InvalidateRect( rcPic ); // 重绘Pic控件区域

你知道猪是怎么死的吗?

楼上几位回答已经很详细了,也是用代码实现的。

CStatic 的 SetBitmap方法

HBITMAP LoadBitmap(
HINSTANCE hInstance, // handle to application instance
LPCTSTR lpBitmapName // address of bitmap resource name
);

CStatic::SetBitmap
HBI