代码之家  ›  专栏  ›  技术社区  ›  dajood

如何使用wm_*messages调整窗口大小

  •  0
  • dajood  · 技术社区  · 14 年前

    当给定了窗口句柄时,如何精确地调整向其发送Windows消息的窗口的大小?我尝试过很多方法,比如向窗口发送一个wm-sizing消息,但是没有任何效果(我这样做的)。

    我不喜欢使用setwindowposition。

    事先谢谢,

    戴维

    2 回复  |  直到 14 年前
        1
  •  8
  •   avakar    14 年前

    WM_SIZE WM_SIZING 不是命令,它们是由 SetWindowPlacement . 您可以使用它或任何可用的conveiece API,包括 SetWindowPos MoveWindow

        2
  •  0
  •   wengseng    14 年前

    我尝试:

    h:

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

    在.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
    
    }
    

    上面的代码可能不是您想要的那样,因为我不清楚您要调整哪个窗口的大小,也不知道从另一个类调用Resize或什么…

    如果不喜欢使用setWindowPos(),我建议使用moveWindow()。