有时候为了界面的美观,我们会去除标题栏,所以这里就会涉及到标题栏重绘的问题;
有时候还要贴上软件的Logo,那怎么办呢?
本文使用的是在picturecontrol上添加位图来实现
代码如下:
//此处在CXXXDlg::initdialog()函数中
HBITMAP hBitmap;
//关联图片ID
hBitmap = (HBITMAP)LoadImage(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDB_LOGO),IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS);
CStatic *pStatic = (CStatic *)GetDlgItem(IDC_LOGO);//获得指向静态控件的指针
//设置静态控件的样式,使其位图居中
pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
//设置静态控件显示位图
pStatic->SetBitmap(hBitmap);
/*--------------------------------------------------------------------------------------------------------------*/
//添加说明函数,注意此处的SetBitMap记得加上类名CXXXDlg,否则会出现编译错误,
//因为这里使用的是cwnd 版本
void CXXXDlg::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);
}