大家好,小阳来为大家解答以上的问题。screentoclient qt这个很多人还不知道,现在让我们一起来看看吧!
1、GetClientRect(&m_rectView); 获取的是 client 相对 client 的区域.所以是0,0,..GetWindowRect(&m_rectView); 获取的是 window 相对 screen 的区域.窗口的 left 和 top 肯定在 client 的"外侧",所以 ScreenToClient 之后变成-2,-2..(-2,-2是client和window之间的间隔差--border)你把ScreenToClient(m_rectView); 注释掉看看!GetClientRect(&m_rectView); 获取的总是以0,0为GetWindowRect(&m_rectView); 获取的是 window 相对 screen 的区域.窗口的 left 和 top 肯定在 client 的"外侧",所以 ScreenToClient 之后变成-2,-2..(-2,-2是client和window之间的间隔差--border)GetWindowRect函数或得的是控件的窗口大小,包括控件的边框等。
2、GetClientRect获得的是控件的客户区大小,不包括控件的边框,对于不同的控件。
3、一般来说GetWindowRect与GetClientRect取得的大小一边不一样大小。
本文到此分享完毕,希望对大家有所帮助。
标签:
版权声明:本文由用户上传,如有侵权请联系删除!