win32窗口常见的消息

WM_CREATE

  • 触发时机:在窗口创建成功但是还没有被显示时
  • 附带信息
    • wParam:0;
    • lParam:为CREATESTRUCT类似的指针,通过这个指针可以获取CreateWindow的全部参数信息
  • 使用场景:一般用于初始化窗口的参数、资源、创建子窗口等等。

WM_DESTROY

  • 触发时机:窗口被销毁的时候。
  • 附带信息
    • wParam:0;
    • lParam:0;
  • 使用场景:一般用于窗口销毁前的处理工作,比如资源、内存等等。

WM_SYSCOMMAND

  • 触发时机:点击窗口的最大化、最小化、关闭等。
  • 附带信息
    • wParam:具体点击的位置,例如关闭SC_CLOSE等;
    • lParam:鼠标光标的位置。
      • LOWORD(lParam); x 坐标
      • HIWORD(lParam); y 坐标
  • 使用场景:一般用于窗口关闭的时候,提示用户处理

WM_QUIT

  • 触发时机:程序员主动触发
  • 附带信息
    • wParam:PostQuitMessage 函数传递的参数;
    • lParam:0;
  • 使用场景:一般用于结束消息循环,当GetMessage收到该消息后,会返回FALSE,来结束while循环,退出循环消息。

WM_SIZE

  • 触发时机:在窗口的大小发生变化的时候
  • 附带信息
    • wParam:窗口大小变化的原因(一般不重要);
    • lParam:窗口变化后的大小;
      • LOWORD(lParam):变化后的宽度
      • HIWORD(lParam):变化后的高度
  • 使用场景:一般用于窗口大小变化后,调整窗口各个部分的布局。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注