Zum vorherigen AbschnittZum nächsten Abschnitt Formen immer im Vordergrund halten
Wenn eine wichtige Form oder eine Art Shortcut-Leiste immer verfügbar sein soll, egal wo der Anwender sich unter Windows gerade aufhält, müssen Sie sich der API-Funktion "SetWindowPos" bedienen. Wie Sie diese deklarieren und einsetzen, zeigt dieser Tipp.
Ihre Bewertung:
 12345
    

Bewertung dieses Tipps:  (bewertet von insgesamt 32 Besuchern)

 Zum vorherigen AbschnittZum nächsten Abschnitt Deklarationen
Um die API-Funktion "SetWindowPos" in eigenen Projekten nutzen zu können, muss sie zuerst im Kopf der Datei deklariert werden. Ich empfehle Ihnen, diese Deklaration in einem Modul vorzunehmen, da die Funktion dann später im gesamten Projekt zur Verfügung steht. Andernfalls, wenn Sie lieber eine Form zum Deklarieren verwenden möchten, müssen Sie jedes Vorkommen von "Public" in "Private" ändern. Zusätzlich zu der API-Funktion benötigen Sie noch zwei Konstanten:

Public Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2

 Zum vorherigen AbschnittZum nächsten Abschnitt Aufruf
Wenn eine Form von Anfang an immer im Vordergrund liegen soll, ist die Platzierung des Aufrufs im Form_Load-Ereignis ratsam. Fügen Sie also folgenden Code ein, um dafür zu sorgen, dass Ihre Form immer über allen anderen Fenstern liegt:

Call SetWindowPos(Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, 3)

Um der Form wieder die normale Eigenschaft zuzuweisen, benutzen Sie folgenden Aufruf:

Call SetWindowPos(Me.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, 3)

Me  =
Wenn die Form von einer anderen Form oder einem Modul in den Vordergrund bzw. wieder in den normalen Zustand gesetzt werden soll, müssen sie dieses Element natürlich entsprechend des Formnamens anpassen.



Quellen: SHADOWare.de
Letzte Änderung: 16.2000
©2000 by SHADOWare, Thomas Bachem