2015-07-20 49 views
0

我有一個窗口有一個擴展框架。它看起來像這樣: The window如何從擴展幀獲取鼠標輸入?

我已經按照MSDN的擴展幀指南中的所有步驟:Custom Window Frame Using DWM

但問題是:我無法捕捉擴展幀上的鼠標移動。我沒有收到WM_MOUSEMOVE消息,並且WM_NCMOUSEMOVE只在調整大小區域和擴展幀的頂部收到,這不是我所需要的。

我已經試過SetCapture但它不允許我最小化,最大化,關閉,移動和調整窗口大小,更不用說它顯示「Working ...」光標。

有人知道如何解決這個問題嗎?

回答

0

問題比我想象的要簡單。這是對WM_NCHITTEST的一個天真的迴應:「如果它不是窗口邊界,那麼它是HTNOWHERE」。將其更改爲HTCLIENT解決了我的問題。

奇怪的是,MSDN頁面告訴我們使用HTNOWHERE。