确定恢复的窗口大小
determining windows restored size
我正在尝试生成一个位图,其中包含将窗口恢复到桌面时将显示的内容。GetWindowRect返回它的最小化大小,GetWindowplacement返回它要去的地方。但我找不到一个api告诉它有多大
如何确定如果恢复,窗口会有多大?
GetWindowPlacement
确实是您想要的。使用rcNormalPosition
,它是包含归一化位置坐标的RECT
。或者,如果WPF_RESTORETOMAXIMIZED
位于窗口位置flags
中,则使用与该窗口相关联的监视器的工作区域。
话虽如此,GetWindowPlacement
有时会在Windows7上的rcNormalPosition
中返回误导性信息。当你使用半屏幕Aero快照功能时,我会遇到这种情况。执行此操作后,如果在提问时窗口仍然正常化,则会发现GetWindowPlacement
在rcNormalPosition
中返回与Aero捕捉位置不匹配的RECT
。如果窗口已规范化,则只需使用GetWindowRect
即可处理此问题。
GetWindowPlacement
>告诉您窗口的大小。rcNormalPosition
字段是一个RECT
,为您提供尺寸。得到高度和宽度,从下减去上,从左减去右。
请注意MSDN关于矩形位于工作区坐标,而非屏幕坐标的评论:
工作区坐标与屏幕坐标的不同之处在于,它们考虑了应用程序工具栏(包括任务栏)的位置和大小。工作空间坐标(0,0)是工作空间区域的左上角,应用程序工具栏不使用屏幕区域。
相关文章:
- SDL2 调整窗口大小后如何缩放鼠标坐标?
- 如何设置与其背景图像大小相对应的窗口大小?
- 如何防止opengl绘图拉伸到窗口大小?
- 使用 Win32 将 GDI 绘制大小缩放为窗口大小
- 恢复Qt窗口大小和位置问题
- 与WM_DPICHANGED消息一起发送的建议窗口大小太大
- 快板获取当前窗口大小
- 当窗口大小更改时,如何自动缩放QT中的图表
- 尝试在 win 32 中禁用窗口大小调整时,窗口样式行为不一致
- OpenGL纹理闪烁/有时在窗口大小上移动
- QGraphics手动调整窗口大小后场景宽度/高度没有变化
- Qt - 防止在拖动标题栏时调整窗口大小
- 在 Direct2D 绘图中,调整窗口大小后尺寸会更改
- 在窗口大小上绘制的OpenGL消失
- XDG-Shell:如何更改窗口大小
- WinAPI.检查窗口大小调整是否已完成
- Win32 透明全屏仅在窗口大小溢出桌面时才有效
- 如何设置启用setFixize后再次调整主窗口大小
- C ,QT,防止窗口大小大于实际布局高度
- 确定恢复的窗口大小