2 回答

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊
函數(shù)的作用和用法,才能正確使用下面是他們的用法:
OnCreate()是一個(gè)消息響應(yīng)函數(shù),是響應(yīng)WM_CREATE消息的一個(gè)函數(shù),而WM_CREATE消息是由Create函數(shù)調(diào)用的。在view類中,Create 是虛函數(shù)由框架調(diào)用,是用來(lái)“生成一個(gè)窗口的子窗口”。 而OnCreate 函數(shù)是用來(lái)“表示一個(gè)窗口正在生成”。一個(gè)窗口創(chuàng)建(Create)之后,會(huì)向操作系統(tǒng)發(fā)送WM_CREATE消息,OnCreate()函數(shù)主要是用來(lái)響應(yīng)此消息的。因?yàn)樵贛FC里面用一種消息映射的機(jī)制來(lái)響應(yīng)消息,也就是可以用函數(shù)來(lái)響應(yīng)相應(yīng)的消息。就拿CMainFrame類來(lái)說(shuō),當(dāng)窗口創(chuàng)建后會(huì)產(chǎn)生WM_CREATE消息,我們可以在OnCreate函數(shù)里實(shí)現(xiàn)我們要在窗口里面增加的東西,例如按扭,狀態(tài)欄,工具欄等。這些子窗口一般是定義成類中的一個(gè)成員變量,因?yàn)橐WC生命周期。一般以m_開(kāi)頭來(lái)表示成員(member)。OnCreate()不產(chǎn)生窗口,只是在窗口顯示前設(shè)置窗口的屬性如風(fēng)格、位置等,Create()負(fù)責(zé)注冊(cè)并產(chǎn)生窗口
OnDraw()函數(shù)每當(dāng)窗口發(fā)生重繪時(shí)就會(huì)執(zhí)行,它其實(shí)跟消息處理函數(shù)OnPaint()差不多。當(dāng)在View類里添加了消息處理函數(shù)OnPaint()時(shí),OnPaint()就會(huì)覆蓋掉OnDraw()。
用鼠標(biāo)改變窗口的大小的時(shí)候,程序就爆掉這個(gè)應(yīng)該是窗口重繪是有異常,有是編譯程序是警告是不能忽略的,看看有什么警告把警告處理了。希望對(duì)你有所幫助!

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
他是響應(yīng)WM_CREATE消息的函數(shù)
無(wú)論是Mainframe還是View都是窗體類,而不同的是MainFrame是整個(gè)框架,是個(gè)大的容器,它可以包含更多的類,例如CView CDocument等。
MFC程序在初始化時(shí),首先初始化的是MainFrame,之后才輪到View
- 2 回答
- 0 關(guān)注
- 1192 瀏覽
添加回答
舉報(bào)