Color scheme: Light
You are here: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » how-to » Layout-Steuerelemente auf UserForms verwenden

Layout-Steuerelemente auf UserForms verwenden

Geben Sie einem UserForm in Excel oder Word eine Navigationsliste, einen Hauptbereich und einen Detailstreifen, die der Größe des Formulars folgen und deren Größe der Benutzer ändern kann – ohne Code in UserForm_Resize.

Voraussetzungen: WKL Forms Object Library 1.23 oder höher.

Lösungsüberblick

WklDockLayout und WklSplitter funktionieren auf UserForms (MSForms) wie auf Access-Formularen. Das Andocklayout überwacht das Fenster des UserForms selbst, weil MSForms kein Steuerelement mit seinem Formular in der Größe ändert. Die Trennleiste bittet MSForms, sie zu aktivieren, sobald die Maus sie erreicht, sodass bereits der erste Druck zieht. Größen sind in beiden Hostanwendungen Twips (1 Punkt = 20 Twips); die Anordnung wird in der Registrierung des aktuellen Benutzers gespeichert.

Umsetzung

Wählen Sie im Visual Basic-Editor Extras › Zusätzliche Steuerelemente, aktivieren Sie WKL Dock Layout (und bei Bedarf WKL Splitter); beide erscheinen in der Werkzeugsammlung. Zeichnen Sie die Bereiche – zum Beispiel ListBox1 am linken Rand, ListBox3 am unteren Rand, ListBox2 im Rest –, zeichnen Sie dann das Andocklayout darüber, nennen Sie es Layout1 und wählen Sie Format › Reihenfolge › In den Hintergrund.

Mehr ist nicht nötig: Mit FillSection (Standardwert) nimmt das Layout das Innere des UserForms ein, findet die drei Listenfelder über ihre Position und folgt jeder Größe des Formulars – auch wenn Code Width und Height des Formulars setzt, wie unten. Code arbeitet direkt mit dem Steuerelement, ohne .Object:

Private Sub UserForm_Initialize()
    Me.Width = 600                              ' points
    Me.Height = 400
    Me.Layout1.LayoutKey = "Bestellungen.Layout1" ' the same form name in another document stays apart
End Sub
 
Private Sub cmdDefault_Click()
    Me.Layout1.Reset
End Sub

Hinweise

  • Ist FillSection ausgeschaltet, behält das Layout den Abstand zum rechten und unteren Rand des UserForms bei, den es beim ersten Anzeigen des Formulars hatte.
  • MSForms platziert Steuerelemente auf ganzen Pixeln, daher kann eine Kante um bis zu 0,75 Punkt vom berechneten Punktwert abweichen.
  • Die Anordnung wird unter HKEY_CURRENT_USER\Software\The White Knight Labs\Access Framework\Layouts gespeichert, ein Wert je LayoutKey; der Standardschlüssel lautet „UserForm-Name.Steuerelementname“.
  • Excel fragt beim Öffnen der Arbeitsmappe möglicherweise, ob die ActiveX-Steuerelemente des UserForms aktiviert werden sollen.
  • Nach einem Update der WKL Forms Object Library lässt sich ein in dieser Version neuer Member auf einem UserForm eines bereits zuvor verwendeten Dokuments unter Umständen nicht kompilieren; siehe „Methode oder Datenobjekt nicht gefunden“ für ein Steuerelement auf einer UserForm.
  • F6 zwischen den Bereichen funktioniert nur auf Access-Formularen. Die Tastatur von Leiste und Streifen (Tabulator, Pfeiltasten, Eingabetaste) und ihre UI Automation werden auf Access-Formularen unterstützt; auf UserForms werden sie nicht unterstützt.

Verwandte Themen

de/wiki/msaccess/comctl/how-to/use-layout-controls-on-userforms.txt · Last modified: by Wolfgang van der Stille