首先,api函数获得的窗口的尺寸都是以像素为单位的 。
获得窗口的客户区的尺寸可以用GetClientRect,获取窗口的尺寸可以用GetWindowRect。
获得的长方形区域的左上角和右下角的坐标都是存储在RECT结构中的。
接下来以excel应用程序窗口为例,演示下这两个函数的用法。
'获取窗体客户区相对于客户区左上角的位置,以像素表示 Public Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long '获取窗口相对于屏幕左上角的位置,以像素表示 Public Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long '定义一个矩形的坐标结构 Public Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Sub QQ1722187970() Dim rClient As RECT Dim rWindow As RECT Dim iHwnd As Long iHwnd = Excel.Application.hwnd GetClientRect iHwnd, rClient GetWindowRect iHwnd, rWindow Debug.Print rClient.Left, rClient.Top, rClient.Bottom, rClient.Right Debug.Print rWindow.Left, rWindow.Top, rWindow.Bottom, rWindow.Right End Sub
发表评论