MFCを使う時のメモ
CWinAppの実行アドレスを取得する関数
AfxGetApp
オリジナル・メッセージの作成
ハンドラの定義
メッセージ番号はWM_USERから使用可。限度はヘルプ参照
#define WM_MMMM WM_USER + nn
// 以下の様に定義しても良い
const UINT WM_MMMM = WM_USER + nn;
受信側ウィンドウ(スレッド)メッセージマップ挿入位置
XXXX.cppの先頭近くにある
BEGIN_MESSAGE_MAP(XXXX, BBBB)
ON_MESSAGE(WM_MMMM, OnFFFF) ←メッセージ番号、ハンドラ関数名をエディタにて入力
END_MESSAGE_MAP()
ハンドラ関数の定義
LONG CXXXX::OnFFFF(WPARAM wParm, LPARAM lParam);
メッセージを送信する方法
送信相手がウィンドウ関係のクラス(CWndの派生クラス)
::PostMessage(hWnd, Msg, wParm, lParm);
::SendMessage(hWnd, Msg, wParm, lParm);
送信相手がスレッド(CWinThreadの派生クラス)
::PostThreadMessage(idThread, Msg, wParm, lParm);
::SendMessage(hWnd, Msg, wParm, lParm);
他のクラスの実行アドレスを取得する関数
CDocumentからCView
GetFirstViewPosition/GetNextView
CFrameWndからCDocument
GetActiveDocument
CFrameWndからCView
GetActiveView
CViewからCDocument
GetDocument
CViewからCFrameWnd
GetParentFrame