CWnd::PostMessage 是 MFC 中的一个公共方法,用于将消息放入消息队列中,以便稍后由目标窗口处理。这个方法与 Windows API 中的 PostMessage 函数类似,用于异步地向窗口发送消息。

函数原型如下:
BOOL PostMessage(
   UINT message,
   WPARAM wParam = 0,
   LPARAM lParam = 0
);

  •  message 是要发送的消息类型,例如 WM_COMMAND、WM_USER 等。

  •  wParam 和 lParam 是消息的参数,根据消息类型的不同而有所变化。


下面是一个简单的例子:
// 假设 pWnd 是指向 CWnd 对象的指针
pWnd->PostMessage(WM_USER, 123, 456);

上述示例中,WM_USER 是一个自定义消息,通过 PostMessage 将这个消息放入窗口消息队列中。123 和 456 分别作为 wParam 和 lParam 的参数传递给窗口消息处理函数。

这种异步消息的发送方式适用于在不阻塞当前线程的情况下向窗口发送消息。请注意,异步消息的处理会在消息队列中按照先进先出的顺序进行。


转载请注明出处:http://www.pingtaimeng.com/article/detail/23528/MFC/CWnd