Zom = ActiveWindow.Zoom / 100
Px72 = GetDeviceCaps(GetDC(0), 88)
If ActiveWindow.FreezePanes Then
Lft = Obj.Left: Trnq = Int(Lft / 3) * 3
For P = 1 To ActiveWindow.Panes.Count: Set Pan = ActiveWindow.Panes(P)
If Not Intersect(Pan.VisibleRange, Obj) Is Nothing Then Exit For
Set Pan = Nothing: Next P: If Pan Is Nothing Then Exit Sub
Lft = Pan.PointsToScreenPixelsX(Trnq) * 72 / Px72 + (Lft - Trnq)
Else
Lft = ActiveWindow.PointsToScreenPixelsX(Int(Obj.Left * Zom * Px72 / 72 + 0.5)) * 72 / Px72
End If
Px72 = GetDeviceCaps(GetDC(0), 90)
If ActiveWindow.FreezePanes Then
Top = Obj.Top: Trnq = Int(Top / 3) * 3
For P = 1 To ActiveWindow.Panes.Count: Set Pan = ActiveWindow.Panes(P)
If Not Intersect(Pan.VisibleRange, Obj) Is Nothing Then Exit For
Set Pan = Nothing: Next P: If Pan Is Nothing Then Exit Sub
Top = Pan.PointsToScreenPixelsY(Trnq) * 72 / Px72 + (Top - Trnq)
Else
Top = ActiveWindow.PointsToScreenPixelsY(Int(Obj.Top * Zom * Px72 / 72 + 0.5)) * 72 / Px72
End If