2009-01-28 109 views
0

當我嘗試將我的窗口(用鼠標)移動到屏幕上方時,標題欄將被隱藏,窗口會將其移回。如果我嘗試重新調整大於屏幕空間的窗口,窗口將重新調整大小以適應屏幕分辨率。如果窗口不喜歡大小或位置,它似乎發送wm_move消息。有沒有辦法來防止這種情況?如何阻止窗口調整大小並移動窗口?

看來我可以打電話給setwindowpos,並把窗戶放在我想要的任何尺寸的地方。

+0

你想做什麼?作爲一般規則,如果你必須打擊操作系統,那麼你從錯誤的角度來解決問題,或者你正在嘗試做一些你不應該做的事情。 – 2009-01-28 01:03:37

回答

2

在Win32域中,您將處理WM_MOVING,WM_SIZINGWM_WINDOWPOSCHANGING,並將它們變爲空操作。你也可能想要處理WM_ENTERSIZEMOVEWM_EXITSIZEMOVE

這實際上很煩人,除非你爲自己編寫應用程序。

1

什麼操作系統? XP,Vista?

在XP中,您似乎可以用鼠標將標題欄從屏幕上移開90%。您也可以嘗試右擊標題欄並選擇移動。然後將鼠標移動到屏幕底部,然後使用鍵盤上的向上箭頭將其移出。雖然不是那麼方便。

編輯:雖然移動方法與箭頭不起作用,因爲一旦你按回車它重置它。

也許試試程序網格移動。我知道你可以創建自定義佈局,但我不確定你可以在屏幕之外製作。

0

如果你想隱藏標題欄(稱爲非客戶區),那麼你應該能夠捕捉到NC_PAINT消息,並防止它們被處理......有一堆NC_消息控制顯示窗戶的非客戶區域。