Hallo zusammen,
ich bastel für mein Projekt gerade an einem erweitertem Tooltipp und stieß dabei auf ein Problem. Der Tooltipp wird in einem neuen Form angezeigt (durch Regions in eine Sprechblase umgewandelt). Um nun jeweils die richtige Stelle zu ermitteln, habe ich zwei rekursive Funktionen geschrieben die folgendermaßen aussehen:
aufgerufen werden diese bei einem klick auf ein Controlelement. So in etwa:
Ziel sollte es sein, die absolute Position des zu tooltipppenden (Verben skurilt die Sprache!) Controlelements am Bildschirm zu bestimmen.
Wenn ich also auf der Hauptform (frmMain) ein panel liegen habe, mit einem Button darin, sollte mein frmSmallHelp.left Wert sich errechnen aus: left Wert des Buttons (relativ zum Panel) plus left Wert des Panels (relativ zum form) plus left Wert des Forms (relativ zum Bildschirm).
Tut er aber nicht! Das Panel wird einfach übergangen.
=> parent scheint wohl die falsche Eigenschaft zu sein, wenn es um Abhängigkeiten von controls geht. Aber wie komme ich sonst auf das übergeordnete Element?
Ich hoffe das Problem ist klar und Ihr könnt mir helfen
Lieben Gruß vom
Vitus
ich bastel für mein Projekt gerade an einem erweitertem Tooltipp und stieß dabei auf ein Problem. Der Tooltipp wird in einem neuen Form angezeigt (durch Regions in eine Sprechblase umgewandelt). Um nun jeweils die richtige Stelle zu ermitteln, habe ich zwei rekursive Funktionen geschrieben die folgendermaßen aussehen:
Code:
Private Function getLeft(thisObject As Object) As Integer
Dim ileft As Integer
If thisObject.Name <> "frmMain" Then _
ileft = getLeft(thisObject.Parent)
getLeft = ileft + thisObject.Left
End Function
Private Function getTop(thisObject As Object) As Integer
Dim iTop As Integer
If thisObject.Name <> "frmMain" Then _
iTop = getTop(thisObject.Parent)
getTop = iTop + thisObject.Top
End Function
aufgerufen werden diese bei einem klick auf ein Controlelement. So in etwa:
Code:
Private Sub btnStartCalibration_Click()
If HelpMode Then
frmSmallHelp.Left = getLeft(btnStartCalibration) + btnStartCalibration.Width / 2
frmSmallHelp.Top = getTop(btnStartCalibration) + btnStartCalibration.Height / 2
frmSmallHelp.show me
Exit Sub
End If
End Sub
Ziel sollte es sein, die absolute Position des zu tooltipppenden (Verben skurilt die Sprache!) Controlelements am Bildschirm zu bestimmen.
Wenn ich also auf der Hauptform (frmMain) ein panel liegen habe, mit einem Button darin, sollte mein frmSmallHelp.left Wert sich errechnen aus: left Wert des Buttons (relativ zum Panel) plus left Wert des Panels (relativ zum form) plus left Wert des Forms (relativ zum Bildschirm).
Tut er aber nicht! Das Panel wird einfach übergangen.
=> parent scheint wohl die falsche Eigenschaft zu sein, wenn es um Abhängigkeiten von controls geht. Aber wie komme ich sonst auf das übergeordnete Element?
Ich hoffe das Problem ist klar und Ihr könnt mir helfen
Lieben Gruß vom
Vitus