CWnd::SendMessageToDescendants
すべての子孫ウィンドウに Windows の指定されたメッセージを送信するには、このメンバー関数を呼び出します。
void SendMessageToDescendants(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0,
BOOL bDeep = TRUE,
BOOL bOnlyPerm = FALSE
);
パラメーター
message
送信されるメッセージを指定します。wParam
追加のメッセージ依存情報を指定します。lParam
追加のメッセージ依存情報を指定します。bDeep
検索するレベルを指定します。**[真]**が、再帰的にすべての子を伝える; FALSEが、直接の子だけが検索されます。bOnlyPerm
メッセージが一時ウィンドウで受信されるかどうかを指定します。**[真]**が、一時的なウィンドウ メッセージを受け取ることができる; FALSEが、永続的なウィンドウだけがメッセージを受信します。一時的なウィンドウの詳細に テクニカル ノート 3を参照してください。
解説
bDeep が FALSE場合、メッセージは、ウィンドウの直接の子だけ送られます; それ以外のメッセージは、すべての子孫ウィンドウに送信されます。
bDeep と bOnlyPerm が **[真]**場合、検索は、一時的なウィンドウの下に従います。この場合、検索中に検出された永続的なウィンドウだけがメッセージを受信します。bDeep が FALSE場合、メッセージは、ウィンドウの直接の子だけ送られます。
使用例
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// change font of child controls of a dialog
LOGFONT lf = {0};
// redraw of child controls not needed in OnInitDialog
// since controls aren't drawn yet.
short int fRedraw = FALSE;
lf.lfHeight = 15; // Request a 15-pixel-high font
// with face name "Arial".
wcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));
m_font.CreateFontIndirect(&lf); // Create the font.
SendMessageToDescendants(WM_SETFONT,
(WPARAM)m_font.m_hObject, //handle to font
MAKELONG ((WORD) fRedraw, 0),
FALSE); // send to all descendants(TRUE) or
// just children of *this (FALSE)
必要条件
ヘッダー: afxwin.h