【问题标题】:How to get maximum possible window size when creating window in MFC?在 MFC 中创建窗口时如何获得最大可能的窗口大小?
【发布时间】:2015-01-06 20:18:24
【问题描述】:

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

【问题讨论】:

  • 你能再具体一点吗?而且,到目前为止,您尝试过什么?
  • 我的窗口可以调整到比屏幕大,所以没有真正的最大尺寸。

标签: c++ mfc


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    您可以将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 还包含监视器大小。

    取决于你需要做什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-21
      • 2011-05-07
      • 1970-01-01
      • 2011-03-07
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      相关资源
      最近更新 更多