Farbschema: Dunkel
Sie befinden sich hier: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » how-to » Layout auf einer Navigationsseite verwenden

Layout auf einer Navigationsseite verwenden

Geben Sie einer Seite einer Navigationsshell eigene Bereiche – eine Struktur neben einer Liste, einen Detailstreifen darunter – mit einem zweiten WklDockLayout auf dem Seitenformular, während das Layout der Shell die Leiste und das Seitenunterformular darum herum anordnet.

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

Lösungsüberblick

Jedes Formular erhält sein eigenes Layout: Das WklDockLayout der Shell ordnet die WklNavBar und das Seitenunterformular an, und das WklDockLayout des Seitenformulars (mit FillSection, dem Standardwert) ordnet die Bereiche der Seite innerhalb des Unterformulars an. Keines der beiden Layouts braucht Code für das andere:

  • Das innere Layout füllt das Unterformular. Ein Formular in einem Unterformularsteuerelement hat dessen Größe als Fenster, sodass FillSection den sichtbaren Detailbereich der Seite füllt. Verbreitert das Layout der Shell die Seite (die Leiste ist auf die Symbolspalte umgeschaltet, ein Streifen wurde gezogen), folgt das innere Layout.
  • Das Austauschen der Seite lässt die Shell unberührt. Das Setzen von SourceObject des Unterformulars in Navigate ersetzt die Seite samt ihrem Layout. Die Anordnung der Shell bleibt, wie sie war, und eine erneut angezeigte Seite wird aus ihrem Entwurf und ihrem gespeicherten Zustand neu angeordnet.
  • F6 durchläuft beide Ebenen. F6 und Umschalt+F6 wechseln durch die Bereiche der Shell. Am Seitenunterformular setzen sie sich durch die Bereiche der Seite fort und kehren dann zum nächsten Bereich der Shell zurück – ein einziger Durchlauf, gleich welches Layout zuerst erstellt wurde.
  • Die Tastenkombination der Leiste wirkt auf der Seite. ToggleShortcut (Strg+B) wirkt auch, wenn der Fokus in einem Bereich des inneren Layouts liegt; der Fokus bleibt, wo er war.

Umsetzung

Shell-Formular frmShell: ein WklDockLayout mit der Leiste navMain links und dem Seitenunterformular sfPage als Füllbereich. Seitenformular frmBestellungenSeite: ein WklDockLayout mit einer WklTreeList links, dem Bestellunterformular als Füllbereich und einem Detailunterformular unten. Beide Layouts finden ihre Bereiche über deren Position; außer der Navigation ist kein Code nötig:

Private Sub navMain_Navigate(ByVal Key As String)
    Select Case Key
        Case "bestellungen": Me!sfPage.SourceObject = "Form.frmBestellungenSeite"
        Case "kunden":       Me!sfPage.SourceObject = "Form.frmKundenSeite"
    End Select
End Sub

Geben Sie dem Layout der Seite einen eigenen Schlüssel, wenn dasselbe Seitenformular in mehr als einer Shell angezeigt wird, damit sich jede Stelle ihre eigene Anordnung merkt:

Private Sub Form_Open(Cancel As Integer)
    ' Page form, before its layout first arranges: the arrangement of this page in the orders shell.
    Me!Layout1.Object.LayoutKey = "frmBestellungenSeite.shell"
End Sub

Hinweise

  • Mit Dokumenten im Registerkartenformat und mit überlappenden Fenstern, als ACCDB, als ACCDE und in der Access Runtime gilt: Das innere Layout füllt den sichtbaren Detailbereich des Seitenunterformulars (ausgenommen den Datensatzmarkierer des Seitenformulars) und folgt, wenn die Leiste auf die Symbolspalte umschaltet. Eine Seite mit einem WklSplitter an ihrer Stelle und wieder zurück lässt die Anordnung der Shell unverändert und das innere Layout wie zuvor. F6 und Umschalt+F6 bilden einen Durchlauf über die Leiste, den unteren Bereich der Shell und die inneren Bereiche, auch nachdem das Layout der Shell neu aufgebaut wurde. Strg+B wirkt mit dem Fokus in einem inneren Bereich und neben einer inneren Trennleiste.
  • Verankern Sie die eigenen Steuerelemente des Seitenformulars wie gewohnt. Das innere Layout ordnet nur seine Bereiche an; eine Kopfzeile mit Titel und Befehlen bleibt im Formularkopf des Seitenformulars.
  • Für F6 allein braucht die Seite kein Layout. Ohne inneres Layout setzt F6 am Seitenunterformular den Fokus in die Seite, und das nächste F6 wechselt zum nächsten Bereich der Shell.

Verwandte Themen

de/wiki/msaccess/comctl/how-to/use-a-layout-on-a-navigation-page.txt · Zuletzt geändert: von Wolfgang van der Stille