现在的位置: 首页 > 综合 > 正文

使用Picture Control显示BMP图片

2012年11月23日 ⁄ 综合 ⁄ 共 1013字 ⁄ 字号 评论关闭
下面是关于怎样使用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;
}

抱歉!评论已关闭.