使用Picture Control显示BMP图片
下面是关于怎样使用Picture Control显示BMP图片:
查找了一下SetBitmap是这样定义的:
///////////////////////////////////////////////////////////////////////////////////
// uBmpResource:图片ID; uCtrlResource: Picture控件ID
void SetBitmap(UINT uBmpResource, UINT uCtrlResource)
{
HBITMAP hBitmap;
CStatic *pStatic = (CStatic *)GetDlgItem(uCtrlResource);
hBitmap = (HBITMAP)LoadImage(
AfxGetInstanceHandle(),
MAKEINTRESOURCE(uBmpResource),
IMAGE_BITMAP,
0,
0,
LR_LOADMAP3DCOLORS);
pStatic->ModifyStyle(0xF, SS_BITMAP);
pStatic->SetBitmap(hBitmap);
}
///////////////////////////////////////////////////////////////////////////////////
根据定义,在对话框初始的时候写入下面的代码(结果成功正常显示):
BOOL CLoginDog::OnInitDialog()
{
CDialog::OnInitDialog();
//添加登陆窗口中的图片
HBITMAP hBitmap;
//关联图片ID
hBitmap =(HBITMAP)LoadImage(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDB_BITMAP_LOGIN_PIC),
IMAGE_BITMAP,0,0,
LR_LOADMAP3DCOLORS);
//获得指向静态控件的指针
CStatic *pStatic=(CStatic *)GetDlgItem(IDC_STATIC_PIC);//控件ID
//设置静态控件的样式,使其可以使用位图,并试位标显示使居中
pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
//设置静态控件显示位图
pStatic->SetBitmap(hBitmap);
return TRUE;