亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

運行后,位圖能夠顯示,但是一直在閃動,一會就消失了,請高中解釋一下,要怎么改才行。

運行后,位圖能夠顯示,但是一直在閃動,一會就消失了,請高中解釋一下,要怎么改才行。

天涯盡頭無女友 2023-03-18 14:10:01
void CAccesscontrolView::OnDraw(CDC* pDC){CAccesscontrolDoc* pDoc = GetDocument();ASSERT_VALID(pDoc); HBITMAP startpic;CStatic startPics;startpic=(HBITMAP)::LoadImage(NULL,"1.bmp",IMAGE_BITMAP,410,350,LR_LOADFROMFILE|LR_DEFAULTSIZE);startPics.Create(NULL,WS_CHILD|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE,CRect(100,357,100+410,357+350),this,NULL);startPics.SetBitmap(startpic);// TODO: add draw code for native data here} 
查看完整描述

2 回答

?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

沒有理解View類的畫圖流程。
在Ondraw中,對pDC的操作,才是對界面的繪制,為什么要弄一個CStatic呢。。
(HBITMAP)::LoadImage這個放到初始化里面,句柄做類變量
Ondraw里面,pDC->BitBlt畫圖

查看完整回答
反對 回復 2023-03-21
?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

你試一試:
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);放在需要更改位圖的函數里。

 


查看完整回答
反對 回復 2023-03-21
  • 2 回答
  • 0 關注
  • 125 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號