Hallo,
ich möchte anhand dieses Tutorials demonstrieren, wie ein Teil des Dialoges per Schaltfläche rollend auf und zugeklappt werden kann.
Dies kann sehr gut bei Erweiterten Einstellungen oder ähnlichem verwendet werden.
Zunächst einmal Platzieren Sie ein Frame in das Dialog. Innerhalb des Frames setzen Sie ihre Steuerelemente und ein Schaltfläche. Über diese Schaltfläche wird der Dialog später auf und zugeklappt.
Nun Vergrößern Sie den Dialog in der Höhe und setzten ein weiteres Frame unter dem vorherigem Frame. Hier platzieren Sie weitere Steuerelemente.
Setzten Sie jetzt ein Timer-Steuerelement auf den Dialog.
Jetzt wechseln Sie in den Code-Editor und Deklarieren ganz oben folgende drei Variablen:
Private Status_erweitert As Boolean
Private Max_Height As Long
Private Min_Height As Long
Status_erweitert speichert den aktuellen status des Dialoges
Max_Height speichert die maximale Höhe die heruntergeklappt werden darf
Max_Height speichert die minimale Höhe die zurückgeklappt werden darf
Tragen Sie in der Funktion Form_Load() folgende initialisierungswerte ein:
Status_erweitert = False
Min_Height = 2265
Max_Height = 4740
Timer1.Interval = 10
Timer1.Enabled = False
Me.Height = Min_Height
Der aktuelle Status wird als erstes definiert. Anschließend wird festgelegt, wie Hoch der Dialog zugeklappt(Min_Height) und aufgeklappt(Max_Height) ist.
Der Intervall für den Timer, also wie schnell der Dialog auf und zuklappt.
Timer1.Enabled wird auf False gesetzt, da es ansonsten sofort aufklappen würde.
zum Schluss wird der Dialog zugeklappt.
Erstellen Sie nun eine Funktion Timer1_Timer(), in der Sie folgendes eintragen:
If Not Status_erweitert Then
If Me.Height >= Max_Height Then
Status_erweitert = True
Timer1.Enabled = False
Else
Me.Height = Me.Height + 50
End If
Else
If Me.Height <= Min_Height Then
Status_erweitert = False
Timer1.Enabled = False
Else
Me.Height = Me.Height - 50
End If
End If
Zunächst wird der Status geprüft, also ob auf oder zugeklappt werden soll.
Anschließend wird geprüft ob die Maximale erlaubte Höhe erreicht wurde.
Ist dies der Fall, wird der Status gesetzt und der Timer abgebrochen.
Falls die Höhe noch nicht erreicht wurde, wird der Dialog um 50 erweitern.
Analog wird im Else-Zweig verfahren, nur dass hier der Dialog um 50 vermindert wird.
Zum Schluss muss nur noch das Klickerreignis implementiert werden.
Dazu erstellen Sie eine Funktion Command1_Click() und schreiben folgende Zeile:
Timer1.Enabled = True
Nun können Sie das Projekt speichern und ausführen.
Dieses Tutorial ist auf jeden Fall Erweiterungsfähig und soll nur Zeigen was mit einfachsten Mitteln möglich ist.