在MFC中创建窗口时如何获得最大可能的窗口大小?

时间:2015-01-06 20:18:25

标签: c++ mfc

我需要获得正在创建的窗口的最大可能高度和宽度(窗口未首先最大化)。怎么做?

2 个答案:

答案 0 :(得分:2)

您可以获取屏幕高度和宽度,并传递该值以获得最大可能的窗口大小 试试这个:

int X = GetSystemMetrics( SM_CXSCREEN );
int Y = GetSystemMetrics( SM_CYSCREEN );

X中,您将获得屏幕的宽度 在Y中,您将获得屏幕的高度。

答案 1 :(得分:1)

您可以将GetSystemMetricsSM_CXSCREENSM_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还包含显示器尺寸。

取决于你需要做什么。