CWnd::SendMessageToDescendants

指定された Windows のメッセージをすべての子孫ウィンドウに送るために呼び出されます。

void SendMessageToDescendants(
   UINT message,
   WPARAM wParam = 0,
   LPARAM lParam = 0,
   BOOL bDeep = TRUE,
   BOOL bOnlyPerm = FALSE 
);

パラメーター

  • message
    送るメッセージを指定します。

  • wParam
    メッセージ依存の追加情報を指定します。

  • lParam
    メッセージ依存の追加情報を指定します。

  • bDeep
    検索するレベルを指定します。 TRUE の場合はすべての子ウィンドウを検索します。FALSE の場合は直系の子ウィンドウのみを検索します。

  • bOnlyPerm
    一時的なウィンドウが受け取るメッセージかどうかを指定します。 TRUE の場合、一時的なウィンドウはメッセージを受け取ることができます。FALSE の場合、パーマネント ウィンドウだけがメッセージを受け取ることができます。 一時的なウィンドウの詳細については、「テクニカル ノート 3: Windows ハンドルとオブジェクト間のマップ」を参照してください。

解説

パラメーター bDeep が FALSE の場合は、ウィンドウの直系の子ウィンドウにメッセージが送られます。それ以外の場合は、すべての子孫ウィンドウにメッセージが送られます。

bDeep と bOnlyPerm の両者が TRUE の場合は、それ以下の一時的なウィンドウも継続して検索します。 この場合、検索中に見つかったパーマネント ウィンドウだけがメッセージを受け取ります。 パラメーター 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

概念

CWnd のメンバー