WinForm

如何在WndProc中处理自定义消息

小樊
98
2024-08-23 18:30:28
栏目: 编程语言

要在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函数中处理自定义消息了。

0
看了该问题的人还看了