次の方法で共有


CWnd::SendMessageToDescendants

更新 : 2007 年 11 月

指定された 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 のメンバ