【问题标题】:GET_X_LPARAM never return negative valueGET_X_LPARAM 从不返回负值
【发布时间】:2016-12-13 12:45:37
【问题描述】:

MSDN 警告:

不要使用 LOWORD 或 HIWORD 宏来提取光标位置的 x 和 y 坐标,因为这些宏在具有多个监视器的系统上返回不正确的结果。具有多个监视器的系统可以具有负的 x 和 y 坐标,并且 LOWORD 和 HIWORD 将坐标视为无符号量。

所以我改用 GET_X_LPARAM 和 GET_Y_LPARAM,但在我的多显示器环境中我从来没有得到负值,这些值总是相对于窗口的左上角,我如何模拟测试负值?我的操作系统是 Win 10 x64,行为可以改变吗?

【问题讨论】:

  • 你在说哪条消息?

标签: windows


【解决方案1】:

您只能在主监视器左侧和/或上方的监视器上获得负值。这仅适用于 WM_CONTEXTMENUWM_NC* 消息,其他大多数非 NC 鼠标消息都与您的 Windows 客户区相关,而不是屏幕。

【讨论】:

    猜你喜欢
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 2010-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多