2 回答

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

TA貢獻1828條經驗 獲得超3個贊
他是響應WM_CREATE消息的函數
無論是Mainframe還是View都是窗體類,而不同的是MainFrame是整個框架,是個大的容器,它可以包含更多的類,例如CView CDocument等。
MFC程序在初始化時,首先初始化的是MainFrame,之后才輪到View
- 2 回答
- 0 關注
- 1181 瀏覽
添加回答
舉報