15,979
社区成员
发帖
与我相关
我的任务
分享
BOOL pic::OnInitDialog()
{
CDialog::OnInitDialog();
if( m_bmp.m_hObject != NULL )
m_bmp.DeleteObject();
HBITMAP hbmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),"c://12.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);
if( hbmp == NULL )
return FALSE;
m_bmp.Attach( hbmp );
DIBSECTION ds;
BITMAPINFOHEADER &bminfo = ds.dsBmih;
m_bmp.GetObject( sizeof(ds), &ds );
int cx= "bminfo".biWidth;
int cy= "bminfo".biHeight;
CRect rect;
GetDlgItem(IDC_PICTURE)->GetWindowRect(&rect);
ScreenToClient(&rect);
GetDlgItem(IDC_PICTURE)->MoveWindow(rect.left,rect.top,cx,cy,true);
return TRUE; // return TRUE unless you set the focus to a control
}
,运行时,提示错误error C2228: left of '.biWidth' must have class/struct/union type
error C2228: left of '.biHeight' must have class/struct/union type
什么问题啊,怎样解决啊?? HBITMAP hbmp=::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1));
m_Picture.SetBitmap(hbmp);
谢谢楼上各位!! HBITMAP hbmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),"12.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);
需要把12.bmp图片放到程序的文件夹中,我想使用LoatBitmap,直接从程序资源中加载位图。把上句改成HBITMAP hbmp = ::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1));
m_Picture.SetBitmap(hbmp);
m_Picture是CStatic型的picture控件,type类型bitmap。为什么图片显示不出来呢?error C2039: 'biWidth' : is not a member of 'tagBITMAP'
biHight也是类似的错误error C2039: 'biWidth' : is not a member of 'tagDIBSECTION'
error C2039: 'biHeight' : is not a member of 'tagDIBSECTION'
改后提示如上错误