先用“GetWindowRect”取得窗体所在位置
然后用“ClientToScreen”取得客户区(0,0)点相对于屏幕的坐标
再相减,得到标题高度

解决方案 »

  1.   

    GetWindowRect VB声明 
    Declare Function GetWindowRect Lib "user32" Alias "GetWindowRect" (ByVal hwnd As Long, lpRect As RECT) As Long 
    说明 
    获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hwnd Long,想获得范围矩形的那个窗口的句柄 
    lpRect RECT,屏幕坐标中随同窗口装载的矩形 
    注解 
    如将它与通过GetDesktopWindow获得的句柄联合使用,可获得对整个可视显示区域(桌面)进行说明的矩形
     
    ====================================================================
    ClientToScreen VB声明 
    Declare Function ClientToScreen Lib "user32" Alias "ClientToScreen" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long 
    说明 
    判断窗口内以客户区坐标表示的一个点的屏幕坐标 
    返回值 
    Long,非零表示成功,零表示失败 
    参数表 
    参数 类型及说明 
    hwnd Long,判断客户区坐标时那个窗口的句柄 
    lpPoint POINTAPI,用hwnd窗口的客户区坐标表示的点,这个参数会包含屏幕坐标系统中相同的点