最近拿到手一個MFC 單檔案程式,正在對其進行解讀。運行該程式,在主選單選取并點擊“檔案”->“新建”這個子選單項,該程式會自動彈出一個自定義的對話框實行后續的操作。我再呼叫這個“新建”選項的ClassWizzad,并沒有在任何程式已存的類中發現關聯了有command 或者 UPDATE_COMMAND_UI函式。該選項的ID為“ID_FILE_NEW”(跟新建一個MFC APPWIZARD 單檔案程式默認的ID一樣),搜索后,發現在主程式的.cpp檔案中,有一個“ON_COMMAND(ID_FILE_NEW, OnFileNew)”。
源程式

新建的程式對應位置的默認函式

而這個對應于新建程式的相應位置,為“ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)”。這說明原作者通過某種方式在這里修改了該選項的相應函式,但是我無法在自己的程式內搜索到“OnFileNew”這個函式的源代碼。請問有什么方式可以查看到原作者對OnFileNew這個函式的定義,我先在希望修改作者撰寫的代碼,彈出我自己設計的對話框。
uj5u.com熱心網友回復:
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)紅的是 默認 處理 在 WinApp 里
你的 doc里 可以
afx_msg void OnFileOpen();
//
ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
是doc中 定義的
void CxxxxDoc::OnFileOpen() {。。。。}
uj5u.com熱心網友回復:
vc助手都標亮了,怎么可能搜索不到。除非是工程沒把檔案添加進來,或者你搜索條件設定的不對。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/105251.html
標籤:界面
