问个MFC这中图形控件显示图片问题
以下是我在OnInitDialog中的代码:IDB_BG1:图片资源IDCStatic*pStatic=(CStatic*)GetDlgItem(IDC_PIC);CRe...
以下是我在OnInitDialog中的代码:IDB_BG1:图片资源ID
CStatic *pStatic = (CStatic *)GetDlgItem(IDC_PIC);
CRect rect;
pStatic->GetClientRect(&rect);
HBITMAP hBitmap = (HBITMAP)LoadImage(NULL, "IDB_BG1", IMAGE_BITMAP, rect.right,
rect.bottom, LR_CREATEDIBSECTION);
pStatic->ModifyStyle(0xF, SS_BITMAP);
pStatic->SetBitmap(hBitmap);
UpdateData(false);
请教下,这样我用位图资源ID作为LoadImage第二个参数,为啥没有图片?
我从文件中加载图片是可以的:
HBITMAP hBitmap = (HBITMAP)LoadImage(NULL, "bg1.bmp", IMAGE_BITMAP, rect.right, rect.bottom, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
但是一定要pStatic->ModifyStyle(0xF, SS_BITMAP);
为啥这个函数一定要,没有这个的话不行?
哪位大哥能跟我说一下。。。。。。。。。。。。。。。。。。。。 展开
CStatic *pStatic = (CStatic *)GetDlgItem(IDC_PIC);
CRect rect;
pStatic->GetClientRect(&rect);
HBITMAP hBitmap = (HBITMAP)LoadImage(NULL, "IDB_BG1", IMAGE_BITMAP, rect.right,
rect.bottom, LR_CREATEDIBSECTION);
pStatic->ModifyStyle(0xF, SS_BITMAP);
pStatic->SetBitmap(hBitmap);
UpdateData(false);
请教下,这样我用位图资源ID作为LoadImage第二个参数,为啥没有图片?
我从文件中加载图片是可以的:
HBITMAP hBitmap = (HBITMAP)LoadImage(NULL, "bg1.bmp", IMAGE_BITMAP, rect.right, rect.bottom, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
但是一定要pStatic->ModifyStyle(0xF, SS_BITMAP);
为啥这个函数一定要,没有这个的话不行?
哪位大哥能跟我说一下。。。。。。。。。。。。。。。。。。。。 展开
1个回答
展开全部
第一个问题 MSDN
If the firstparameter is NULL and the last parameter omits the LR_LOADFROMFILE value。If the last parameter includes the LR_LOADFROMFILE value, lpszName is the name of the file that contains the image.
即为第一个参数是nULL时,第二个参数默认为载入的图像名而不是位图资源名
要使用位图资源可以将第一个参数设为AfxGetInstanceHandle()
第二个问题IDC_PIC是pictiure控件?
它默认的是是Frame类型,不显示图片
If the firstparameter is NULL and the last parameter omits the LR_LOADFROMFILE value。If the last parameter includes the LR_LOADFROMFILE value, lpszName is the name of the file that contains the image.
即为第一个参数是nULL时,第二个参数默认为载入的图像名而不是位图资源名
要使用位图资源可以将第一个参数设为AfxGetInstanceHandle()
第二个问题IDC_PIC是pictiure控件?
它默认的是是Frame类型,不显示图片
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询