MFC窗口应用程序中的选项卡不可单击

时间:2011-04-07 19:31:16

标签: mfc

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

1 个答案:

答案 0 :(得分: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后,它可以正常工作!