我需要获得正在创建的窗口的最大可能高度和宽度(窗口未首先最大化)。怎么做?
答案 0 :(得分:2)
您可以获取屏幕高度和宽度,并传递该值以获得最大可能的窗口大小 试试这个:
int X = GetSystemMetrics( SM_CXSCREEN );
int Y = GetSystemMetrics( SM_CYSCREEN );
在X
中,您将获得屏幕的宽度
在Y
中,您将获得屏幕的高度。
答案 1 :(得分:1)
您可以将GetSystemMetrics与SM_CXSCREEN
和SM_CYSCREEN
一起使用。这是主显示屏的宽度和高度。
另一种方法是确定桌面工作区大小:
CRect rectWorkArea;
SystemParametersInfo(SPI_GETWORKAREA,0,&rectWorkArea,0);
或者,如果您的窗口存在,则确定特定显示器工作区的大小
CRect rectWorkArea;
MONITORINFO mi;
mi.cbSize = sizeof(mi);
::GetMonitorInfo(::MonitorFromWindow(hWnd, MONITOR_DEFAULTTONEAREST), &mi);
rectWorkArea = mi.rcWork;
MONITORINFO
还包含显示器尺寸。
取决于你需要做什么。