• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3974
  • Last Modified:

VB6 How to get the absolute position of a control?

I need to find the absolute position of a control within a VB6 application. (Absolute as in 0,0 = top,left of the Windows desktop).

I understand that VB.NET has a .PointToScreen method for doing this (I don't have .NET so I'm not sure).

The application is MDI-based and the controls may be in containers with different ScaleModes. Is there an API where you can pass the hWnd of a control and get back the absolute position?
0
AndyGroom
Asked:
AndyGroom
1 Solution
 
EDDYKTCommented:
Option Explicit
Private Type RECT
    Left As Long
    Top As Long
    right As Long
    bottom As Long
End Type



Private Declare Function GetWindowRect& Lib "user32" (ByVal hwnd As Long, lpRect As RECT)

Private Sub Command1_Click()
Dim rc As RECT
GetWindowRect Command1.hwnd, rc
Label1 = rc.Left & "  " & rc.Top & "  " & rc.right & "  " & rc.bottom
End Sub
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now