我认为所有的Windows消息都是通过调用线程的消息队列传递的。并且所有消息在被分派到窗口之前都通过<div class="panel panel-default">
<div class="panel-heading text-center">
<h3 class="panel-title">GALLERY</h3>
</div>
<div class="panel-body">
<div class="image-box">
<img src="http://placehold.it/300x300">
<P class="caption">Image Description</P>
</div>
<div class="image-box">
<img src="http://placehold.it/300x300">
<P class="caption">Image Description</P>
</div>
<div class="image-box">
<img src="http://placehold.it/300x300">
<P class="caption">Image Description</P>
</div>
</div>
</div>
传递?
但事实似乎并非如此。在我的下面的代码GetMessage()
中,我们没有收到主要的HWND GetMessage()
,WM_CREATE
或WM_DESTROY
。 这是如何工作的?因为主HWND正在接收这些消息,而不是通过标准的while循环。
WM_CLOSE
这是我对此感兴趣的一个原因,因为我想执行&#39;功能回调&#39;而不是子类窗口/链窗口程序/覆盖窗口程序。
即;
while (GetMessage(&msg, NULL, 0, 0))
{
// WM_CREATE, WM_DESTROY, WM_CLOSE messages dont get retrieved through GetMessage
// ...but the window still received this message.
switch (msg.message)
{
case WM_CREATE:
OutputDebugString(_T("WM_CREATE\n"));
break;
case WM_DESTROY:
OutputDebugString(_T("WM_DESTROY\n"));
break;
case WM_CLOSE:
OutputDebugString(_T("WM_CLOSE\n"));
break;
case WM_LBUTTONDOWN:
OutputDebugString(_T("WM_LBUTTONDOWN\n"));
break;
default: {} break;
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}