共用方式為


CWnd::SendMessageToDescendants

呼叫此成員函式以傳送指定的視窗訊息傳送給所有子代視窗。

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

參數

  • message
    指定要傳送的訊息。

  • wParam
    指定額外的訊息相關的資訊。

  • lParam
    指定額外的訊息相關的資訊。

  • bDeep
    指定要搜尋的層級。 如果 ,遞迴地搜尋所有子系,如果 ,搜尋只有直接子系。

  • bOnlyPerm
    指定訊息是否要在暫存視窗之前接收。 如果 ,暫存視窗可以接收訊息,如果 ,只有永久 Windows 接收訊息。 如需暫存視窗的詳細資訊請參閱 Technical Note 3

備註

如果是, bDeep訊息傳送給視窗的直接子系,否則訊息傳送給所有子代視窗。

如果 bDeep 和 bOnlyPerm 是 ,搜尋作業會從暫存 Windows 下繼續。 在這種情況下,在搜尋期間遇到的只永久 Windows 接收訊息。 如果是, bDeep訊息只會傳送至視窗的直接子系。

範例

// 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)

需求

Header: afxwin.h

請參閱

參考

CWnd 類別

階層架構圖

CWnd::SendMessage

CWnd::FromHandlePermanent

CWnd::FromHandle