![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
在MFC窗口中 使用SetBitmap却不显示位图
voidCTest1View::OnDraw(CDC*pDC){CTest1Doc*pDoc=GetDocument();ASSERT_VALID(pDoc);//TOD...
void CTest1View::OnDraw(CDC* pDC)
{
CTest1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
HBITMAP startpic;
CStatic startPics;
startpic=(HBITMAP)::LoadImage(NULL,"DSC02330.bmp",IMAGE_BITMAP,110,50,LR_LOADFROMFILE|LR_DEFAULTSIZE);
startPics.Create(NULL,WS_CHILD|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE,CRect(500,200,500+110,200+50),this,NULL);
startPics.SetBitmap(startpic);}
添加的代码如上所示,求指点
为什么不显示图片呢 展开
{
CTest1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
HBITMAP startpic;
CStatic startPics;
startpic=(HBITMAP)::LoadImage(NULL,"DSC02330.bmp",IMAGE_BITMAP,110,50,LR_LOADFROMFILE|LR_DEFAULTSIZE);
startPics.Create(NULL,WS_CHILD|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE,CRect(500,200,500+110,200+50),this,NULL);
startPics.SetBitmap(startpic);}
添加的代码如上所示,求指点
为什么不显示图片呢 展开
2个回答
展开全部
OnDraw里面Create一个临时CStatic,LoadImage一个临时变量句柄,整体逻辑的错误。
OnDraw是每次界面刷新调用的函数,应该尽量优化并只放置界面刷新代码;句柄和控件不能重复创建,应该是类成员变量,并且在初始化代码中创建;位图句柄,用相对路径文件名不安全,不推荐。
问题很多。。。建议先了解和熟悉MFC的运行机制,至少,明白几个主要功能函数意义以及C++基础变量概念,不能这样生搬硬套
OnDraw是每次界面刷新调用的函数,应该尽量优化并只放置界面刷新代码;句柄和控件不能重复创建,应该是类成员变量,并且在初始化代码中创建;位图句柄,用相对路径文件名不安全,不推荐。
问题很多。。。建议先了解和熟悉MFC的运行机制,至少,明白几个主要功能函数意义以及C++基础变量概念,不能这样生搬硬套
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |