下面是关于怎样使用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;
- }