Compartir a través de


CWnd::SendMessage

envía el mensaje especificado a esta ventana.

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

Parámetros

  • message
    Especifica el mensaje que se va a enviar.

  • wParam
    especifica la información mensaje-dependiente adicional.

  • lParam
    especifica la información mensaje-dependiente adicional.

Valor devuelto

El resultado del procesamiento de mensajes; el valor depende del mensaje enviado.

Comentarios

Las llamadas de función miembro de SendMessage el procedimiento de ventana directamente y no cambian hasta que el procedimiento de ventana haya procesado el mensaje. Esto contrasta con la función miembro de PostMessage , que coloca el mensaje en la cola de mensajes de la ventana y vuelve inmediatamente.

Ejemplo

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();   
   }
}

Requisitos

encabezado: afxwin.h

Vea también

Referencia

CWnd (clase)

Gráfico de jerarquías

InSendMessage

CWnd::PostMessage

CWnd::SendDlgItemMessage

SendMessage