2010-09-29 32 views
0

當給出窗口句柄時,如何正確調整向其發送窗口消息的窗口?我嘗試了很多東西,例如發送WM_SIZING消息到窗口,但沒有任何工作(我這樣做)。如何使用WM_ *消息調整窗口大小

我不喜歡使用SetWindowPosition。

由於提前,

大衛

+4

爲什麼當你可以使用HWND和SetWindowPos函數(它也有大小)時發送消息。 http://msdn.microsoft.com/en-us/library/ms633545(v=VS.85).aspx,還有一些代碼對上下文有用 – 2010-09-29 14:37:47

+0

使用MoveWindow()。 – 2010-09-29 16:07:30

+0

好吧,有一個奇怪的問題需要解決:一個對我們非常重要的應用程序會執行一些運行幾個小時的複雜計算。如果你點擊這個廣泛傳播的商業應用程序的窗口邊界並按下鼠標按鈕,它的計算速度就會快幾倍。 – dajood 2010-10-01 13:02:59

回答

8

WM_SIZEWM_SIZING不是命令,它們是由SetWindowPlacement發送的通知。您可以使用該或任何常用API,包括SetWindowPosMoveWindow

0

我嘗試:

在.H:

中的.cpp
#define WM_RESIZEMESSAGE  (WM_USER+1) 
void ResizeHandler (WPARAM wParam, LPARAM lParam); 

:只要你想

ON_MESSAGE (WM_RESIZEMESSAGE, ResizeHandler) 

void CTestClass::ResizeHandler (WPARAM wParam, LPARAM lParam) 
{ 
    int x = 100; //--> desired size 
    int y = 100; //-->desired size 
    MoveWindow(0, 0, x, y, TRUE); //->Move window 

} 

上面的代碼可能不會,因爲我並不清楚這窗口,你想調整大小,並調用調整大小從另一類或什麼...

我只是建議使用MoveWindow()如果你不喜歡使用SetWindowPos()。