【问题标题】:How to get the full client rect?如何获得完整的客户权利?
【发布时间】:2009-10-04 21:22:37
【问题描述】:

根据 MSDN,GetClientRect 函数实际上只适用于确定客户端的宽度和高度,因为 left 和 top 始终为零。有没有办法获取完整的客户端坐标,包括左和上(在屏幕空间或窗口空间中)?

【问题讨论】:

    标签: winapi user-interface coordinates getclientrect


    【解决方案1】:

    在返回的 RECT 的左上角和右下角调用 ClientToScreen。如果您使用的是 MFC,CWnd 有一个 CWnd::ClientToScreen 的辅助重载,它将为您透明地执行此操作。

    【讨论】:

      【解决方案2】:

      也许您需要 GetWindowRect。

      【讨论】:

        【解决方案3】:

        您正在寻找 GetWindowPlacement 函数。此函数返回一个 WINDOWPLACEMENT 结构体,该结构体具有 rcNormalPosition 属性,该属性指定窗口处于正常(而不是最大化或最小化)显示状态时的位置。

        编辑:itowilson 的答案实际上更干净,因为 WINDOWPLACEMENT 结构还包含一堆您不需要的数据。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-09-25
          • 1970-01-01
          • 2014-06-29
          • 1970-01-01
          • 2017-05-30
          • 2012-08-18
          • 1970-01-01
          • 2013-05-10
          相关资源
          最近更新 更多