CWinAPP
BOOL CWinApp::InitInstance()
//程式進入點
CWinApp::m_pMainWnd
//繼承CWinThread類別中m_pMainWnd
//m_pMainWnd指向該應用程式物件所使用的視窗框架物件
在CWinApp::InitInstance()中
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
if (!ProcessShellCommand(cmdInfo))
return FALSE;
是負責在程式開始前系統抓到的參數傳入
如果是MDI程式開始時不希望有childWnd打開
可以在ParseCommandLine跟ProcessShellCommand
加入cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
enum{
FileNew,
FileOpen,
FilePrint,
FilePrintTo,
FileDDE,
FileNothing = -1
};
在MFC視窗程式裡 視窗訊息的傳遞與處理
首先要建立"訊息映射表"
在負責回應訊息的Class中 加入映射表的宣告
DECLARE_MESSAGE_MAP()
然後在Class外宣告所處理的訊息及對應的處理函式
(通常是寫在.cpp檔的最上頭)
BEGIN_MESSAGE_MAP( ClassName, BaseClassName )
..............//訊息對應項目
END_MESSAGE_MAP()
MFC訊息分成兩種
1. 標準系統訊息 ex. 按下滑鼠左鍵, 視窗關閉
對應項目通常為
ON_WM_xxxxx ( )
回應函數名稱 MFC以自行定義 通常不會更改
2. 自訂命令訊息 ex. 使用者建立的資源物件的識別子所產生的事件
對應項目通常是
ON_COMMAND ( 識別子, 處理函式)
ON_UPDATE_COMMAND_UI ( 識別子, 處理函式)
宣告處理此種訊息的函數 前面都會加上afx_msg
afx_msg xxxx
<!--more-->
留言列表