展示位图
显示位图
HBITMAP hbitmap; //将pStatic指向要显示的地方
CStatic *pStatic = NULL;
pStatic=(CStatic*)GetDlgItem(IDC_IMAGE); //根据ID获取Static控件
hbitmap=(HBITMAP)::LoadImage (::AfxGetInstanceHandle(),"2.bmp",
IDB_BITMAP1,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION); //装载资源*.bmp
CBitmap hbmp;
hbmp.Attach(hbitmap);
BITMAP bm;
hbmp.GetBitmap(&bm); //获取图片内容
CDC dcMem; //创建兼容DC
dcMem.CreateCompatibleDC(GetDC());
CBitmap *pOldBitmap=(CBitmap*)dcMem.SelectObject(hbmp);
CRect lRect; //获取Static控件的大小范
pStatic->GetClientRect(&lRect); //在Static控件上显示位图
pStatic->GetDC()->StretchBlt(lRect.left ,lRect.top ,lRect.Width(),lRect.Height(), &dcMem,0 ,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
dcMem.SelectObject(&pOldBitmap);我想在一个static控件中显示一副位图,
我想在一个static控件中显示一副位图,麻烦看一下错在哪里了??编译和链接都没问题
运行时失败
------解决方案--------------------
不要这么麻烦吧。
楼主参考下我写的《Windows界面编程第五篇 静态控件背景透明化》
http://blog.csdn.net/morewindows/article/details/8470452
然后在WM_CTLCOLORSTATIC中使用位图画刷或自贴图都行。
位图画刷或自贴图可以参考《Windows界面编程第一篇 位图背景与位图画刷》
http://blog.csdn.net/morewindows/article/details/8451629
HBITMAP hbitmap; //将pStatic指向要显示的地方
CStatic *pStatic = NULL;
pStatic=(CStatic*)GetDlgItem(IDC_IMAGE); //根据ID获取Static控件
hbitmap=(HBITMAP)::LoadImage (::AfxGetInstanceHandle(),"2.bmp",
IDB_BITMAP1,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION); //装载资源*.bmp
CBitmap hbmp;
hbmp.Attach(hbitmap);
BITMAP bm;
hbmp.GetBitmap(&bm); //获取图片内容
CDC dcMem; //创建兼容DC
dcMem.CreateCompatibleDC(GetDC());
CBitmap *pOldBitmap=(CBitmap*)dcMem.SelectObject(hbmp);
CRect lRect; //获取Static控件的大小范
pStatic->GetClientRect(&lRect); //在Static控件上显示位图
pStatic->GetDC()->StretchBlt(lRect.left ,lRect.top ,lRect.Width(),lRect.Height(), &dcMem,0 ,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
dcMem.SelectObject(&pOldBitmap);我想在一个static控件中显示一副位图,
我想在一个static控件中显示一副位图,麻烦看一下错在哪里了??编译和链接都没问题
运行时失败
位图
------解决方案--------------------
不要这么麻烦吧。
楼主参考下我写的《Windows界面编程第五篇 静态控件背景透明化》
http://blog.csdn.net/morewindows/article/details/8470452
然后在WM_CTLCOLORSTATIC中使用位图画刷或自贴图都行。
位图画刷或自贴图可以参考《Windows界面编程第一篇 位图背景与位图画刷》
http://blog.csdn.net/morewindows/article/details/8451629