sdi程式建立流程的回顧
1.首先應用程式物件建立文件模板;
csingledoctemplate* pdoctemplate;
pdoctemplate = new csingledoctemplate(
idr_mainframe,
runtime_class(csdicoindoc),
runtime_class(cmainframe), // main sdi frame window
runtime_class(csdicoinview));
2.文件模板建立文件物件、開啟或建立檔案;
ccommandlineinfo cmdinfo; //處理命令列資訊類
ccommandlineinfo::ccommandlineinfo() //ccommandlineinfo類的預設建構函式
filenew--->onfilenew();
fileopen--->opendocumentfile();
fileprint, fileprintto--->......
filedde--->...
....
3.文件模板建立邊框視窗物件和邊框視窗;
4.接著邊框視窗物件建立視物件和視視窗。
下面以filenew動作為例,詳解建立過程:
a.呼叫文件模板管理器的成員函式onfilenew(m_pdocmanager->onfilenew());
b.模板管理器獲取文件模板物件指標,呼叫文件模板物件的opendocumentfile 函式(ptemplate->opendocumentfile(null))。
c.如果模板管理器發現有多個文件模板,就彈出乙個對話方塊讓使用者選擇文件模板。
d.csingledoctemplate::opendocumentfile();
//建立文件類
cdocument* pdocument = createnewdocument();
//建立框架類
cframewnd* pframe = createnewframe(pdocument, null);
e.呼叫cframewnd的虛函式initialupdateframe完成視窗初始化;
這些建立是以應用程式的文件模板為中心進行的。在建立這些mfc物件的同時,建立了它們之間的關係。建立這些之後,進行初始化,啟用主邊框視窗,把邊框視窗、視視窗顯示出來。
這樣,乙個sdi應用程式就完成了啟動過程,等待著使用者的互動或者輸入。
MFC單文件(SDI)全屏程式的實現
思路 按下f11時轉換全屏顯示方式 全屏時需要記錄視窗當前位置 記錄工具欄 狀態列的顯示屬性 隱藏 顯示選單欄 隱藏 顯示標題欄 最大化 最小化視窗 技術要點 為view新增keydown事件,當nchar 122時新增處理 在mainframe中新增狀態等變數 public bool m bful...
MFC的程式執行的整個流程
mfc 的程式執行的整個流程 第一步 宣告乙個全域物件 ex myobject 在我們自己寫的程式裡頭。第二步 由於 winmain 已經寫好了成 mfc函式,所以它編譯的時候會自動鏈結進來。於是,開始執行 afxwinmain 第三步 它做什麼動作呢?先取得之前宣告物件的指標,然後開始呼叫 myo...
MFC中的動態建立
1 為了能夠動態建立,程式必須維護乙個cruntimeclass的類,當需要去識別乙個類的時候,就依次去查詢這個鍊錶,而這個是通過一組巨集來實現的。因為是乙個鍊錶,所以就需要初始化,這個初始化在cobject中用稍有不同的巨集來實現的。2 cruntimeclass的結構 lpcstr m lpsz...