如何使用WM_ *消息调整窗口大小

时间:2010-09-29 14:34:56

标签: c++ windows delphi winapi

当给出窗口句柄时,如何精确调整向其发送Windows消息的窗口?我已经尝试过很多东西,比如发送一个WM_SIZING消息到窗口,但没有任何效果(我的方式)。

我不喜欢使用SetWindowPosition。

提前致谢,

大卫

2 个答案:

答案 0 :(得分:8)

WM_SIZEWM_SIZING不是命令,而是SetWindowPlacement发送的通知。您可以使用该API或任何常用的API,包括SetWindowPosMoveWindow

答案 1 :(得分:0)

我试试:

在.h:

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

in .cpp:

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

}

上面的代码可能不是你想要的,因为我不清楚你要调整哪个窗口,调用另一个类的调整大小或者什么......

如果您不喜欢使用SetWindowPos(),我建议使用MoveWindow()。