成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

MFCOnPaint被不斷調(diào)用的問題

本人最近在開發(fā)一個(gè)繪圖程序,需用到OnPaint。雖說MFC也用了比較久了,但對(duì)OnPaint還是理解不深。在OnPaint中我把 CPaintDC dc(this); 注釋掉了。然后自己手動(dòng)獲取 CDC 進(jìn)行操作。導(dǎo)致OnPaint被不斷的調(diào)用。導(dǎo)致這個(gè)問題的原因就是不應(yīng)該把 CPaintDC dc(this); 注釋掉。要使用它。

創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營(yíng)銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動(dòng)網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營(yíng)銷需求!創(chuàng)新互聯(lián)具備承接各種類型的做網(wǎng)站、網(wǎng)站建設(shè)項(xiàng)目的能力。經(jīng)過10年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評(píng)。

因?yàn)镃PaintDC dc(this); 的構(gòu)造,析構(gòu)里調(diào)用了CWnd::BeginPaint、CWnd::EndPaint 。具體如下:

CPaintDC的獨(dú)到之處就在于,它在構(gòu)造函數(shù)中調(diào)用了 CWnd::BeginPaint在析構(gòu)時(shí)調(diào)用了CWnd::EndPaint,而且它只能響應(yīng)WM_ONPAINT消息。而這個(gè)BeginPaint會(huì) 發(fā)送WM_ONERASEBKGND消息,因此,它只擦除指定的背景并重畫,不影響對(duì)話框內(nèi)的其他控件。值得注意的是,在這操作之后不要再調(diào)用 CDialog::Onpaint函數(shù)。

而之前的方法之所以不成功是因?yàn)椋?/p>

BeginPaint() 和EndPaint() 可以刪除消息隊(duì)列中的WM_PAINT消息,并使無效區(qū)域有效。
GetDC()和ReleaseDC()并不刪除也不能使無效區(qū)域有效,因此當(dāng)程序跳出 WM_PAINT 時(shí) ,無效區(qū)域仍然存在。系統(tǒng)就回不斷發(fā)送WM_PAINT消息,于是程序不斷處理WM_PAINT消息。其中無效區(qū)域是指需要重畫的區(qū)域,無效的意思是:當(dāng)前內(nèi)容是舊的,過時(shí)的。

只 有當(dāng)一個(gè)窗口消息空閑時(shí),系統(tǒng)才會(huì)抽空檢查一下這個(gè)窗口的無效區(qū)域是否為非空(WM_PAINT的優(yōu)先級(jí)是最低的。這也就是為什么系統(tǒng)很忙時(shí)窗口和桌面往 往會(huì)出現(xiàn)變白、刷新不了、留拖拽痕跡等現(xiàn)象的原因),如果非空,系統(tǒng)就發(fā)送WM_PAINT。所以一定要用BeginPaint、EndPaint把無效 區(qū)域設(shè)為空,否則WM_PAINT將一直被發(fā)送。

新聞名稱:MFCOnPaint被不斷調(diào)用的問題
文章起源:http://jinyejixie.com/article44/ijdihe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、虛擬主機(jī)軟件開發(fā)、網(wǎng)頁設(shè)計(jì)公司ChatGPT、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
体育| 铜陵市| 西贡区| 衡阳市| 佛教| 大田县| 大城县| 清徐县| 界首市| 靖安县| 淳安县| 大城县| 双桥区| 蕲春县| 莱芜市| 竹山县| 南皮县| 兴文县| 扬中市| 麦盖提县| 靖远县| 榕江县| 莲花县| 宜良县| 杨浦区| 平南县| 察哈| 东宁县| 徐水县| 宁阳县| 灵宝市| 兴文县| 洱源县| 三江| 通辽市| 兴山县| 崇仁县| 肥东县| 涞水县| 汉沽区| 尼勒克县|