要在WndProc中处理自定义消息,首先需要定义一个自定义消息的常量,例如:
#define WM_CUSTOM_MESSAGE WM_USER+1
然后,在处理窗口消息的WndProc函数中,可以通过switch语句来判断收到的消息类型,如果是自定义消息,则可以执行相应的处理逻辑,例如:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_CUSTOM_MESSAGE:
// 处理自定义消息的逻辑
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
}
当需要向窗口发送自定义消息时,可以使用SendMessage或PostMessage函数,例如:
SendMessage(hWnd, WM_CUSTOM_MESSAGE, 0, 0);
这样就可以在WndProc函数中处理自定义消息了。