如果您处理WM_SETCURSOR并且不在其中调用DefWindowProc(),是否会将WM_SETCURSOR发送给父级?

时间:2016-11-10 11:02:43

标签: c winapi

文档说DefWindowProc()WM_SETCURSOR发送给父母。如果您没有从DefWindowProc()拨打WM_SETCURSOR,而只是返回FALSE,WM_SETCURSOR会被发送到您的窗口的父级吗?换句话说,如果您返回FALSE,发送给您WM_SETCURSOR的代码会将WM_SETCURSOR发送给您窗口的父级吗?这不是一个对话窗口。

//Are these two the same?
    case WM_SETCURSOR:
        //More code
        return DefWindowProc(hwnd, msg, wParam, lParam);

    case WM_SETCURSOR:
        //More code
        return FALSE;

1 个答案:

答案 0 :(得分:0)

答案是:这取决于。如果你被Windows直接调用并返回FALSE,则不会再发生任何事情,但情况可能并非如此。

如果您被DefWindowProc或其他窗口过程调用,则返回FALSE表示您尚未处理该消息。进一步处理是完全可能的,但具体取决于调用者。

这可能不是一个好主意。要么返回TRUE,要么调用DefWindowProc,就像手册所说的那样。