2012-03-05 133 views
-1

我正在處理一個存在的項目,並試圖向其中添加一個額外的窗口。我設法創建窗口,但如果我調用ShowWindow(m_hwnd,SW_SHOW)來顯示我的額外窗口,原始窗口無法獲得鼠標單擊事件。但是原始窗口可以獲得鼠標移動事件。失去焦點後無法獲得鼠標點擊事件

它看起來像原來的窗口不能正確處理一些事件,以便它不能被鼠標點擊激活,但我不知道哪個事件觸發了激活。

這裏是通過原來的窗口處理的郵件列表:

WM_CLOSE 
WM_MOUSEACTIVATE 
WM_ENTERSIZEMOVE 
WM_EXITSIZEMOVE 
WM_ENTERMENULOOP 
WM_EXITMENULOOP 
WM_HOTKEYWM_SYSCHAR 
WM_CHAR 
WM_SYSKEYDOWN 
WM_SETCURSOR 
WM_MOUSEMOVE 
WM_LBUTTONDOWN 
WM_LBUTTONUP 
WM_LBUTTONDBLCLK 
WM_MOVE 
WM_SIZE 
WM_ACTIVATE 
WM_SETFOCUS 
WM_KILLFOCUS 
WM_WINDOWPOSCHANGED 
WM_STYLECHANGED 
WM_INPUTLANGCHANGE 
+0

我不明白你的問題是什麼。你的意思是說,一旦你顯示你的子窗口,主窗口不能再通過點擊它來關注? – Loomchild 2012-03-05 10:50:49

回答

0

您需要提供更多信息,使您的問題清楚。無論如何,鼠標消息只接收鼠標懸停在其上的窗口(客戶端或非客戶端區域),以及調用其中的窗口SetCapture。所以你的「問題」可能不是由於「錯誤的消息處理」,而是由於對輸入消息概念的誤解。另外,我認爲禁用的窗口不會收到輸入消息(調用EnableWindow(hWnd, FALSE)的消息)。