如何将模态位置设置到屏幕的左下角?

问题描述 投票:0回答:1

我正在使用WinApi和C ++,我正试图将模态的位置设置到屏幕的左下角,但我不知道如何。我希望这个程序适用于不同的屏幕分辨率并考虑任务栏(模态必须在它上面)。我目前使用以下方法设置窗口位置:

SetWindowPos( GetHwnd(), HWND_TOPMOST, 0,0,0,0, SWP_NOMOVE | SWP_NOSIZE );
c++ windows winapi modal-dialog
1个回答
0
投票

您可以使用MonitorFromWindow检索显示窗口的监视器的句柄。

然后使用GetMonitorInfo获取该监视器的MONITORINFO

在MONITORINFO中,您将找到RECT rcWork,它描述了工作区域,即排除任务栏,无论它是什么。

GetWindowRect找出窗户的大小,并将其放在rcWork的左下角。

请注意,在这种情况下,您应该不使用SWP_NOMOVE because this

保留当前位置(忽略X和Y参数)。

© www.soinside.com 2019 - 2024. All rights reserved.