第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

執(zhí)行程序,鼠標按客戶區(qū)一下,為什么顯示的是10?Invalidate不是在之前么?

執(zhí)行程序,鼠標按客戶區(qū)一下,為什么顯示的是10?Invalidate不是在之前么?

C
大話西游666 2023-03-18 17:14:36
a是View類的一個int成員,構(gòu)造函數(shù)初始化為。然后添加一個view消息:void CMy123View::OnLButtonUp(UINT nFlags, CPoint point) {// TODO: Add your message handler code here and/or call defaultthis->Invalidate();a = 10;CView::OnLButtonUp(nFlags, point);}然后Ondraw里:void CMy123View::OnDraw(CDC* pDC){CMy123Doc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCString s;s.Format("%d", a);pDC->TextOut(10, 10, s);}a是View里面的一個成員啊.......構(gòu)造函數(shù)初始化為0!!如果在InInvalidate()后再加一句AfxMessageBox("fdasfdsafas");就可以看見輸出0了,說明AfxMessageBox會調(diào)用updatewindow?
查看完整描述

2 回答

?
眼眸繁星

TA貢獻1873條經(jīng)驗 獲得超9個贊

因為你的a是在函數(shù)外部定義的,在鼠標點擊之前就已經(jīng)給它賦值了。

查看完整回答
反對 回復(fù) 2023-03-21
?
繁花不似錦

TA貢獻1851條經(jīng)驗 獲得超4個贊

Invalidate只是給View的消息隊列中加入一個WM_PAINT消息,然后立即繼續(xù)下面的語句(包括a=10;這句)。View響應(yīng)WM_PAINT消息調(diào)用OnDraw的時機由其消息隊列的處理方式?jīng)Q定,通常會在WM_LBUTTONUP響應(yīng)結(jié)束之后(即OnLButtonUp結(jié)束之后)。
如果需要立即重繪,請使用UpdateWindow函數(shù)。 

補充:
不清楚Windows內(nèi)部是如何處理AfxMessageBox的。如果你用彈出的消息框擋住了客戶區(qū)文字部分,然后關(guān)閉消息框,確實有可能調(diào)用UpdateWindow。

查看完整回答
反對 回復(fù) 2023-03-21
  • 2 回答
  • 0 關(guān)注
  • 127 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號