WM

您所在的位置:网站首页 修真漫画免费大全下载 WM

WM

2023-05-01 12:53| 来源: 网络整理| 查看: 265

WM_SIZE消息 项目 09/23/2022

更改窗口大小后发送到窗口。

窗口通过其 WindowProc 函数接收此消息。

#define WM_SIZE 0x0005 参数

wParam

请求的大小调整的类型。 此参数的取值可为下列值之一:

值 含义 SIZE_MAXHIDE 4 当其他一些窗口最大化时,消息将发送到所有弹出窗口。 SIZE_MAXIMIZED 2 窗口已最大化。 SIZE_MAXSHOW 3 当其他一些窗口还原到其以前的大小时,消息将发送到所有弹出窗口。 SIZE_MINIMIZED 1 窗口已最小化。 SIZE_RESTORED 0 窗口已调整大小,但 SIZE_MINIMIZED 和 SIZE_MAXIMIZED 值均未应用。

 

lParam

lParam 的低序字指定工作区的新宽度。

lParam 的高序字指定工作区的新高度。

返回值

类型: LRESULT

如果应用程序处理此消息,它应返回零。

示例 /****************************************************************** * * * SimpleText::OnResize * * * * If the application receives a WM_SIZE message, this method * * resize the render target appropriately. * * * ******************************************************************/ void SimpleText::OnResize(UINT width, UINT height) { if (pRT_) { D2D1_SIZE_U size; size.width = width; size.height = height; pRT_->Resize(size); } } LRESULT CALLBACK SimpleText::WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { SimpleText *pSimpleText = reinterpret_cast( ::GetWindowLongPtr(hwnd, GWLP_USERDATA)); if (pSimpleText) { switch(message) { case WM_SIZE: { UINT width = LOWORD(lParam); UINT height = HIWORD(lParam); pSimpleText->OnResize(width, height); } return 0; // ...

GitHub上Windows经典示例的示例。

注解

如果由于WM_SIZE消息而为子窗口调用 SetScrollPos 或 MoveWindow 函数,则 bRedraw 或bRepaint 参数应为非零,导致窗口重新绘制。

虽然窗口的宽度和高度为 32 位值, 但 lParam 参数仅包含每个窗口的低序 16 位。

DefWindowProc 函数在处理WM_WINDOWPOSCHANGED消息时发送WM_SIZE和WM_MOVE消息。 如果应用程序在不调用 DefWindowProc 的情况下处理WM_WINDOWPOSCHANGED消息,则不会发送WM_SIZE和WM_MOVE消息。

要求 要求 值 最低受支持的客户端 Windows 2000 Professional [仅限桌面应用] 最低受支持的服务器 Windows 2000 Server [仅限桌面应用] 标头 Winuser.h (包括 Windows.h) 另请参阅

引用

HIWORD

LOWORD

MoveWindow

WM_WINDOWPOSCHANGED

概念性

Windows

其他资源

SetScrollPos

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3