Die Standard-Schaltflächen
Schon die Schaltflächen für OK und Abbrechen sollten sorgfältig eingestellt werden. Geübte Benutzer erwarten schließlich, dass ein Dialog mit der Return-Taste bestätigt und mit der Escape-Taste abgebrochen werden kann.
Die Schaltfläche 'OK'
Stellen Sie also für die OK-Schaltfläche die Default-Eigenschaft auf True. Dann wird diese mit einem etwas dickeren Rand angezeigt. Je nach Einstellung Ihres Maustreibers wird der Mauszeiger beim Erscheinen des Dialogs auch direkt darauf positioniert.
Default-Schaltfläche und nicht Default-Schaltfläche
Das Auslösen dieser Schaltfläche per Return-Taste funktioniert allerdings nur, wenn auf dem Dialog nicht gerade Textfelder aktiv sind, welche Return als Zeilenumbruch akzeptieren. Da wird Windows mal wieder von seiner ewigen Unentschlossenheit eingeholt: Die (Return-)Taste kann sowohl für eine Bestätigung als auch für das Einfügen eines Zeilenumbruchs verwendet werden.
Die Schaltfläche 'Abbrechen'
Wenn Sie die Cancel-Eigenschaft für die Abbrechen-Schaltfläche auf True stellen, reagiert diese automatisch auf die Escape-Taste. Das gilt auch dann, wenn der Fokus gar nicht auf der Schaltfläche selbst liegt.
Beide Schaltflächen sollten typischerweise den Dialog schließen; daher sehen die Prozeduren wie im folgenden Code aus:
Private Sub btnAbbrechen_Click() Unload Me End Sub Private Sub btnOK_Click() 'beliebiger Code hier... Unload Me End Sub
Nur für die OK-Schaltfläche wird vor dem Entladen des Dialogs noch der jeweils notwendige Code ausgeführt.
Die Schaltfläche 'Übernehmen'
Relativ häufig finden sich in Dialogen inzwischen Übernehmen-Schaltflächen, die im Grunde nur OK-Schaltflächen ohne Schließen sind. Die Programmierung ändert sich dann lediglich geringfügig wie im folgenden Code:
Private Sub btnAbbrechen_Click() Unload Me End Sub Private Sub btnOK_Click() AbschlussAktion Unload Me End Sub Private Sub btnUebernehmen_Click() AbschlussAktion End Sub Private Sub AbschlussAktion 'beliebiger Code hier... End Sub
Dabei werden die von der OK- und der Übernehmen-Schaltfläche ausgeführten Aktionen einfach in eine eigene Prozedur (hier mit dem beliebigen Namen AbschlussAktion) ausgelagert und von beiden dann aufgerufen. Damit ist sichergestellt, dass in beiden Fällen dasselbe ausgeführt wird.
