CWnd::SendMessage
Visual Studio 2010
Sends the specified message to this window.
LRESULT SendMessage( UINT message, WPARAM wParam = 0, LPARAM lParam = 0 );
The SendMessage member function calls the window procedure directly and does not return until that window procedure has processed the message. This is in contrast to the PostMessage member function, which places the message into the window's message queue and returns immediately.
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(); } }