【问题标题】:Tab in MFC windows application is not clickableMFC windows 应用程序中的选项卡不可点击
【发布时间】:2011-04-12 04:14:17
【问题描述】:

我对双显示器系统中的 MFC windows 应用程序有一个奇怪的问题。 假设我有监视器 A 和监视器 B。 如果我的窗口工具栏(开始菜单等)在监视器 A 中,并且 A 也是我的主监视器。我的应用程序运行良好。但是,如果 A 有工具栏,而 B 是主监视器。当我将应用程序移动到窗口 A 时,该选项卡不可点击,而其他控件(按钮..)工作。 我不知道发生了什么事。任何建议表示赞赏..

【问题讨论】:

    标签: mfc


    【解决方案1】:

    我终于找到了问题所在。要获取选项卡索引,代码使用最后一条消息位置来获取单击点,并使用 HitTest 来确定单击了哪个选项卡。在多显示器系统中,我们不应该使用 LOWORD 和 HIWORD,如下所述:

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

    http://msdn.microsoft.com/en-us/library/ms644938(v=vs.85).aspx

    在我使用 GET_X_LPARAM 或 GET_Y_LPARAM 之后,它就可以工作了!

    【讨论】:

      猜你喜欢
      • 2021-04-13
      • 2011-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-29
      相关资源
      最近更新 更多