Share via


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

参照

関連項目

CWnd クラス

階層図

CWnd::SendMessage

CWnd::FromHandlePermanent

CWnd::FromHandle