Picture Control属于Cstatic类
能显示三种类型的图片:
Bitmap:位图(.bmp)
Cursor:光标(.cur)
Icon:图标(.icon)
一、Picture Control 控件类
CStatic::
SetBitmap | Specifies a bitmap to be displayed in the static control. |
GetBitmap | Retrieves the handle of the bitmap previously set with SetBitmap. |
SetIcon | Specifies an icon to be displayed in the static control. |
GetIcon | Retrieves the handle of the icon previously set with SetIcon. |
SetCursor | Specifies a cursor image to be displayed in the static control. |
GetCursor | Retrieves the handle of the cursor image previously set with SetCursor. |
SetEnhMetaFile | Specifies an enhanced metafile to be displayed in the static control. |
GetEnhMetaFile | Retrieves the handle of the enhanced metafile previously set with SetEnhMetaFile |
二、加载图片
注意:加载不同类型的图片时,picture control 控件的type属性中应改为相应的类型
Type:Etched Horz水平蚀刻线条
Type:Etched Vert垂真蚀刻线条
Type:Rectangle实心矩形
Type:Bitmap位图
Type:Icon 图标
Type:Enhanced Metafile 增强图元 支持wmf格式图片
Type:Owner Draw 自绘图
Color:颜色
Black:黑
Gray:灰色
White:白色
Etched:蚀刻
2.1LoadImage函数
HANDLE LoadImage(
HINSTANCE hinst, // handle of the instance containing the image
LPCTSTR lpszName, // name or identifier of image
UINT uType, // type of image
int cxDesired, // desired width
int cyDesired, // desired height
UINT fuLoad // load flags
);
2.2从文件中载入
//载入文件里(即通过CFileDialog打开)的图片 文件中的第一个参数一般为空,路径,类型,宽,高, 默认大小
HBITMAP hbp=(HBITMAP)LoadImage( NULL, fileName, IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE|LR_LOADFROMFILE) ;
2.3从资源中载入
具体的可以看:
VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control)
//载入资源里的图片
hbp=(HBITMAP)LoadImage(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_BITMAP2),IMAGE_BITMAP,0,0,LR_DEFAULTSIZE) ;
2.4图片缩放
//图片大小缩放
hbp=(HBITMAP)LoadImage(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_BITMAP2),IMAGE_BITMAP,33,221,0) ;
三、释放资源
Bitmap | DeleteObject |
Cursor | DestroyCursor |
Icon | DestroyIcon |
例:
HCURSOR hbp=(HCURSOR)LoadImage( NULL, fileName, IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE|LR_LOADFROMFILE) ;
DestroyCursor(hbp);