2011-04-07 43 views
1

我有一個奇怪的問題,關於在雙監視器系統中的MFC Windows應用程序。 假設我有監視器A和監視器B. 如果我的窗口工具欄(開始菜單等)在監視器A中,而A是我的主監視器。我的申請工作正常。但是,如果A具有工具欄,而B是主監視器。當我將應用程序移動到窗口A時,該選項卡不可點擊,而其他控件(按鈕..)工作。 我不知道發生了什麼事。任何暗示讚賞..在MFC Windows應用程序中的標籤是不可點擊的

回答

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它的工作原理後!

相關問題