某些應用程式需要建立新(空)文件,而不需要強迫使用者選擇file->new選單命令,例如:當使用者在應用程式的視窗中執行某個特定的命令時將建立乙個文件;或者執行另外的選單命令時,間接的建立文件,下面的技術解釋了如何達到想要的目的:
第一種技術:
如果打算正確的再現「file->new」行為,最簡單的方法是通過傳送適當的wm_commandd訊息來模仿「file->new」選單命令:
afxgetmainwnd()->sendmessage(wm_command,id_file_new);
第二種技術:
如果應用程式有多個文件模板物件,並且打算基於某個特定的文件模板來建立乙個新文件,那麼必須明確選擇所使用的文件模板物件,並傳輸引數null來呼叫它自己的cmultidoctemplate::opendocumentfile()函式
m_pttemplate->opendocumentfile(null);
必須採用某種途徑來儲存各種文件模板物件的指標,這樣,才能在上面這行**中正確的設定m_pttemplate指標。通常來說,儲存這些指標的最簡單方法是作為應用程式來的成員變數。
這樣要編寫**來建立乙個基於特定模板的新文件,就可以在**的任何地方簡單的使用下面的呼叫:
附加注釋:
另一方面,第二種解決方案允許**明確的選擇所要使用的文件模板物件,這種方法可以很好的控制mfc將要建立的文件、檢視、檢視框架視窗物件的類。;
可以如下呼叫建立新文件、框架、檢視
這種實現中使用封裝函式的乙個優點是,我們返回乙個正確定義了型別的指標時,該指標指向最新建立過的文件。這樣,客戶**得到乙個「真實的」cmydoc1*指標,而無需進一步的向下對映。
VC如何建立乙個新的執行緒
使用mfc開發是較普遍的vc 程式設計方法。在vc 6.0下,mfc應用程式的執行緒由cwinthread物件表示。vc 把執行緒分為兩種 使用者介面執行緒和工作者執行緒。使用者介面執行緒能夠提供介面和使用者互動,通常用於處理使用者輸入並相應各種事件和訊息 而工作者執行緒主要用來處理程式的後台任務。...
2 8 如何程式設計來開啟乙個已存在的文件檔案?
某些應用程式需要開啟乙個存在的文件檔案,而不需要使用者明確的選擇 file open 選單命令。下面的技術解釋了如何達到想要的目的。第一種技術 開啟由strfilename確定的文件 檔案的副檔名決定了 文件模板 的選擇 第二種技術 如果應用程式管理多文件模板,並且使用某個特定的模板來開啟乙個文件,...
Git 如何上傳乙個空資料夾
mkdir aa git status 發現git根本沒發現新建了乙個空資料夾,為何git要忽略空資料夾呢?有的說git開發者不喜歡空資料夾,有的人說空資料夾沒有什麼實際意義,還有的人說空資料夾的話用某些伺服器比如ftp會報錯,總之git不支援空資料夾的提交。解決提交空資料夾的辦法?ignore e...