共用方式為


CWnd::SendMessage

傳送指定的訊息至視窗。

LRESULT SendMessage(
   UINT message,
   WPARAM wParam = 0,
   LPARAM lParam = 0 
);

參數

  • message
    指定要傳送的訊息。

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

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

傳回值

訊息處理的結果;它的值取決於所傳送的訊息。

備註

SendMessage 成員函式呼叫即時運算視窗中的和程序不會傳回,直到該視窗程序來處理訊息。 使用 PostMessage 成員函式相反,這是,將訊息寫入 視窗中的訊息佇列並立即傳回。

範例

void CAboutDlg::OnPaint()
{
   // This code, normally emitted by the Application Wizard for a dialog-
   // based project for the dialog's WM_PAINT handler, runs only if the 
   // window is iconic. The window erases the icon's area, then
   // paints the icon referenced by m_hIcon.
   if (IsIconic())
   {
      CPaintDC dc(this); // device context for painting

      SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);

      // Center icon in client rectangle
      int cxIcon = GetSystemMetrics(SM_CXICON);
      int cyIcon = GetSystemMetrics(SM_CYICON);
      CRect rect;
      GetClientRect(&rect);
      int x = (rect.Width() - cxIcon + 1) / 2;
      int y = (rect.Height() - cyIcon + 1) / 2;

      // Draw the icon
      dc.DrawIcon(x, y, m_hIcon);
   }
   else
   {
      CDialog::OnPaint();   
   }
}

需求

Header: afxwin.h

請參閱

參考

CWnd 類別

階層架構圖

InSendMessage

CWnd::PostMessage

CWnd::SendDlgItemMessage

SendMessage