日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何把C++的類添加到MFC中?(mfc怎么為類添加消息處理函數(shù))

如何把C++的類添加到MFC中?

成都創(chuàng)新互聯(lián)公司于2013年開始,先為塔城等服務(wù)建站,塔城等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為塔城企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

點“插入”->“類”。彈出一對話框。類的類型選“Generic Class”,然后填入你的類名,如果你要從基類繼承,在下面的表格中填上基類名、繼承方式(public、protected或private)。

Ctrl W 打開類向?qū)?,在這里可以增加新的類。它會自動添加類的頭文件。樓上的方法是在類中自動加成員變量,成員函數(shù),消息響應(yīng)函數(shù)。類的定義放在哪與在哪繪圖無關(guān),想要在OnDraw中繪圖,是為了在那建立消息響應(yīng)函數(shù),可以簡化代碼。

實際上在CView與FrameView上繪圖區(qū)別不大,只是繪圖時用this指針時要注意范圍,一個不包含工具欄,一個包含工具欄。

它們的基類都是CWnd,也就是說它們都有處理默認窗口消息的過程函數(shù),如果你用CClientDC的話,兩者沒什么區(qū)別,當然如果用this指針的話會有范圍上的區(qū)別。

因此在一般都在CView中增加消息響應(yīng)函數(shù),以簡化代碼。

如果你不求簡化代碼的話,可以不在OnDraw中錄入代碼,自已建一個消息響應(yīng)函數(shù)(如:鼠標左鍵按下,釋放,移動。。。。)。也就是用類向?qū)?,或者樓上兩位說的方法。

View::OnDraw()函數(shù)響應(yīng)的是WM_PAINT消息,且集成了CDC設(shè)備環(huán)境,CDC的構(gòu)造,析構(gòu)函數(shù)因集成,而被簡化掉了。減小了代碼的錄入。

mfc怎么調(diào)用onpaint函數(shù)?

開啟OnPaint函數(shù)有下面三種選擇:

1) 直接發(fā)送WM_PAINT消息,用PostMessage(),SendMessage()函數(shù)發(fā)送WM_PAINT消息。使用以上兩函數(shù)發(fā)送WM_PAINT消息,能將WM_PAINT消息發(fā)送到WINDOWS程序消息隊列中,當WINDOWS將WM_PAINT消息發(fā)送給具體的消息處理函數(shù)時,如果窗口的無效區(qū)域為空則WINDOWS將不理睬該消息。若存在無效區(qū)域,則調(diào)用窗口處理函數(shù)處理。要注意的這里需要存在無效區(qū)域,因此要調(diào)用2)中的函數(shù)使得窗體(或者部分)無效,其處理過程與2)相同,將WM_PAINT消息送入消息處理隊列。與3)不同的是WM_PAINT并不立即處理;

2) 調(diào)用相應(yīng)的API實現(xiàn)WM_PAINT消息的發(fā)送:Invalidate(),InvalidateRect(), InvalidateRgn():以上函數(shù)將窗口的特定區(qū)域標定為無效,當WINDOWS檢測到窗口中存在無效區(qū)域時將向消息隊列發(fā)送WM_PAINT 消息。我當時用的就是Invalidate()函數(shù);

3) UpdateWindow():該函數(shù)調(diào)用后WINDOWS將向窗口發(fā)送一個非隊列化的WM_PAINT消息,它不經(jīng)過消息循環(huán)而直接發(fā)送給了窗口消息處理函數(shù)。如果窗口無效區(qū)域不存在,WINDOWS將不理睬該消息。注意這里因為要使得窗口無效區(qū)不存在,因此還是調(diào)用Invalidate(),InvalidateRect(), InvalidateRgn()函數(shù),和2)中不同的是這里的WM_PAINT消息會被立即處理,而2)中是加入消息處理隊列。

簡單起見,你可以使用2)中方案進行問題解決。


新聞名稱:如何把C++的類添加到MFC中?(mfc怎么為類添加消息處理函數(shù))
網(wǎng)址分享:http://www.dlmjj.cn/article/djjpjci.html