Kontextsensitive Symbolleisten
Veröffentlicht am 01.09.2004
Mit der Menüleiste-Eigenschaft lässt sich eine beliebige benutzerdefinierte Menüleiste an ein bestimmtes Formular knüpfen. Die Menüzeile erscheint dadurch immer dann, wenn das betreffende Formular aktiv ist. Solche Menüzeilen werden daher auch als kontextsensitiv bezeichnet. Leider gibt es keine passende Eigenschaft, um auch eine bestimmte Symbolleiste kontextsensitiv an ein Formular zu binden. Verwenden Sie die BeiAktivierung und BeiDeaktivierung-Ereigniseigenschaften, um kontextsensitive Symbolleiste zu realisieren.
Besonders einfach wird der Vorgang, wenn Sie der Symbolleiste den gleichen Namen wie der kontextsensitiven Menüleiste geben. Eine entsprechende VBA-Prozedur kann dann den Namen aus der Menüleiste-Eigenschaft auslesen und die gleichnamige Symbolleiste öffnen:
Public Sub KontextSymbolleiste (FormObj As Form, _
Einblenden As Integer)
Dim Symbolleistenname As Variant
Symbolleistenname = FormObj.MenuBar
If Einblenden = True Then
DoCmd.ShowToolbar Symbolleistenname, acToolbarYes
Else
DoCmd.ShowToolbar Symbolleistenname, acToolbarNo
End If
End Sub
Platzieren Sie die Prozedur am besten in einem Standardmodul, damit Sie von allen Formularen aus aufgerufen werden kann.
Um eine Symbolleiste mit einem Formular zu verknüpfen, müssen Sie nun lediglich noch zwei Ereignisprozeduren für die Eigenschaften BeiAktivierung und BeiDeaktivierung anlegen:
Private Sub Form_Activate()
KontextSymbolleiste Me, True
End Sub
Private Sub Form_Deactivate()
KontextSymbolleiste Me, False
End Sub
Sobald das Formular nun aktiviert wird, öffnet Access die passende Symbolleiste. Sollte es dagegen deaktiviert werden, verschwindet die Symbolleiste wieder
