WM_XBUTTONDOWN返回ATL / MSDN记录值之间的差值?

问题描述 投票:0回答:1

https://msdn.microsoft.com/en-us/library/windows/desktop/ms646245(v=vs.85).aspx,我提取:

如果应用程序处理此消息,则应返回TRUE。有关处理返回值的更多信息,请参阅“备注”部分。

如果重要的话,同样适用于WM_XBUTTONUPWM_XBUTTONDBLCLK

我希望我能找到MSG_WM_XBUTTONDOWN做到这一点。但是,在Chromium(atlcrack.h)的https://src.chromium.org/svn/trunk/src/third_party/wtl/include/atlcrack.h中,我发现以下内容:

// void OnXButtonDown(int fwButton, int dwKeys, CPoint ptPos)
#define MSG_WM_XBUTTONDOWN(func) \
    if (uMsg == WM_XBUTTONDOWN) \
    { \
        SetMsgHandled(TRUE); \
        func(GET_XBUTTON_WPARAM(wParam), GET_KEYSTATE_WPARAM(wParam), _WTYPES_NS::CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))); \
        lResult = 0; \
        if(IsMsgHandled()) \
            return TRUE; \
    }

类似的作品可以在MSG_WM_XBUTTONDOWNMSG_WM_XBUTTONDBLCLK找到。

在这个片段中,lResult = 0线让我感到困惑。不应该是lResult = TRUE(根据MSDN)?

c++ winapi mouseevent atl wtl
1个回答
0
投票

这是WTL中的一个错误,一直是fixed

© www.soinside.com 2019 - 2024. All rights reserved.