Ich versuche, ein Formular relativ zu einem Button auf einem Steuerelement darunter anzuzeigen.
Aber Button.top ist relativ zur Titelleiste des unteren Formulars, und das obere Formular ist relativ zum Bildschirm.
Also, um das auszugleichen muss ich jetzt wie hoch die Titelleiste ist.
Ich habe Form.height-Form.ScalemHeight verwendet, aber ScaleHeight enthält nicht die Titelleiste oder , so dass die Skalenhöhe etwas aufgebläht ist.
Weiß jemand, wie man die Höhe von nur in der Titelleiste berechnet?
Sie müssen den Aufruf GetSystemMetrics
API verwenden, um die Höhe der Titelleiste zu erhalten.
Hinweis: Dadurch wird die Höhe in Pixel zurückgegeben. Wenn Sie Twips benötigen, müssen Sie mit der ScaleY
-Methode eines Formulars wie folgt konvertieren: Me.ScaleY(TitleBarHeight(), vbPixels, vbTwips)
Sie müssen wahrscheinlich einen Win32-API-Aufruf für GetSystemMetrics ()
Sie können die Funktion ClientToScreen()
windows API verwenden, um einen Punkt von Client-Koordinaten in Bildschirmkoordinaten zu konvertieren:
Wenn Sie dies überspringen und direkt zur Schaltfläche wechseln möchten, können Sie die Position der Schaltfläche (in Pixel) verwenden:
%Vor% Oder rufen Sie einfach die Tastenposition mit GetWindowRect()
Tags und Links vb6