3 回答
TA贡献1808条经验 获得超4个赞
没有理解View类的画图流程。
在Ondraw中,对pDC的操作,才是对界面的绘制,为什么要弄一个CStatic呢。。
(HBITMAP)::LoadImage这个放到初始化里面,句柄做类变量
Ondraw里面,pDC->BitBlt画图
TA贡献1816条经验 获得超4个赞
CStatic startPics;HBITMAP startpic;
放在CAccesscontrolView类中定义,
startPics.Create(NULL,WS_CHILD|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE,CRect(100,357,100+410,357+350),this,NULL);放在CAccesscontrolView的OnCreate函数中;
如果你的位图在程序后就不需要改变,你可以把startpic=(HBITMAP)::LoadImage(NULL,"1.bmp",IMAGE_BITMAP,410,350,LR_LOADFROMFILE|LR_DEFAULTSIZE);和startPics.SetBitmap(startpic);
放在CAccesscontrolView的OnCreate函数中,startPics.Create后面;
如果程序运行后需要改变位图,把startpic=(HBITMAP)::LoadImage(NULL,"1.bmp",IMAGE_BITMAP,410,350,LR_LOADFROMFILE|LR_DEFAULTSIZE);
和startPics.SetBitmap(startpic);放在需要更改位图的函数里。
TA贡献1877条经验 获得超6个赞
不用初始化,其实pDC是OnPaint()函数传递过来的CDC指针,直接用即可。 如果你想自己创建CDC作;图,完全可以不理它,直接创建一个来用即可:CClient dc(this);dc.moveto(point);//等等
添加回答
举报