WklRibbon
Der Menüband-Designer in der WKL Forms Object Library: die Menübänder einer Datenbank, ihre Datei-Ansicht und ihre Kontextmenüs, erstellt aus einer einzigen Befehlsliste und ausgeführt ohne eigenen Callback-Code.
Erste Schritte
Häufige Aufgaben
Schaubild
+ Datei + Start + Auswertung ---------------------------------------------------------+ | | +-------+ # Nur offene +-------+ | 1 | | | Kunden| # Exportieren v |Bericht| v | | | +-------+ +-------+ | | | Daten Drucken Werkzeuge (nur DEV) 2 | +-------+----------------------------------------------------------------------------+ 3 Datei-Ansicht: Module › Kunden, Aufträge, Abmelden 4 Kontextmenü ctxKunden
| Bereich | Bedeutung |
|---|---|
| 1 | Ein Menüband des Modells: Registerkarten, Gruppen und ihre Einträge (Schaltfläche, Umschaltfläche, Menü, geteilte Schaltfläche, Trennlinie), groß oder klein. |
| 2 | Eine Gruppe mit Bedingung: Sie erscheint nur im Profil DEV (dem Verbindungsprofil des Linked Tables Managers). |
| 3 | Die Datei-Ansicht (Backstage): eigene Registerkarten mit Aufgabengruppen und Aufgaben; eingebaute Einträge wie Informationen oder Drucken lassen sich ausblenden. |
| 4 | Ein Kontextmenü aus denselben Befehlen, als Kontextmenüleiste eines Formulars oder Steuerelements gesetzt. |
Wichtige Funktionen
- Ein Befehl, viele Orte. Ein Befehl hat seine Beschriftung, sein Bild (ein Office-Bild oder eines aus dem Bildkatalog der Datenbank), seine Aktion und seine Bedingung nur einmal; Schaltflächen, Menüeinträge, Aufgaben der Datei-Ansicht und Einträge von Kontextmenüs zeigen ihn an.
- Aktionen ohne Code. Ein Formular öffnen, einen Bericht in der Seitenansicht öffnen, eine Funktion der Anwendung aufrufen oder einen eingebauten Befehl von Access über seine
idMsoausführen. Das EreignisActionkommt zuerst und kann abbrechen. - Bedingungen. Ein Element nur in einem Profil (DEV, TEST, PROD) anzeigen, nur in einer ACCDB, einer ACCDE oder in der Runtime oder nur, wenn eine Funktion der Anwendung True zurückgibt (Rollen, Rechte, Zustände). Bedingungen entscheiden, was angezeigt wird, nicht, was erlaubt ist: Ein ausgeblendeter Befehl bleibt über VBA, DAO oder ein anderes Frontend erreichbar. Schützen Sie Daten mit den Rechten des Servers.
- Kontextmenüs an einer Stelle zugeordnet. Die Seite Zuordnung legt fest, welches Formular, welcher Bericht, welches Steuerelement oder welche Art von Steuerelement welches Kontextmenü zeigt; nach OK werden die Menüs in die Eigenschaft Kontextmenüleiste geschrieben, auch durch das Build-Werkzeug.
EnsureMenuserstellt die Menüs in einer Datenbank ohne Menüband des Modells. - Steuerung aus dem Code.
Visible,Enabled,LabelundPressedje Befehl,Invalidate,ActivateTab,Execute. - Aus Textquellen. Das Modell ist ein JSON-Text, aus dem das Build-Werkzeug baut und den es Byte für Byte wieder exportiert (
ribbonModelin access-app.json). - Wie Access. Menübänder bleiben in USysRibbons und CustomRibbonID, Formular-Menübänder stehen in der Formulareigenschaft Name des Menübands, Kontextmenüs in Kontextmenüleiste. ACCDE und Runtime funktionieren.
Grundkonzepte
Das Modell ist ein Modell im Kern des Frameworks: Befehle, Menübänder, die Datei-Ansicht und
Kontextmenüs, mit Regeln, die erfüllt sein müssen, bevor etwas geschrieben wird (eindeutige
Namen, kein Element, wo RibbonX es nicht erlaubt, kein Bezug auf einen fehlenden Befehl), und
der Erzeugung von RibbonXML und des Callback-Moduls. Beim Speichern schreibt der Designer das
Modell in USysWklRibbon, jedes Menüband in USysRibbons, das Anwendungsmenüband in
CustomRibbonID und die Callbacks in das Modul basWklRibbon, das Sie nie bearbeiten. Jedes
Element fragt seine Beschriftung, Sichtbarkeit und Bereitschaft über dieses Modul ab; das Modul
gibt die Frage an das Laufzeitobjekt WklRibbon weiter, das die Bedingungen und die per Code
gesetzten Werte auswertet. Kontextmenüs sind Befehlsleisten, die die Laufzeit erstellt, sobald
ein Menüband der Datenbank geladen wird oder die Anwendung EnsureMenus aufruft. Ihre
Zuordnungen sind Teil des Modells und werden in der Entwurfsansicht in die Formulare und
Berichte geschrieben; eine danach erstellte ACCDE behält sie daher. Access wendet ein
gespeichertes Menüband beim Öffnen der Datenbank an.
Administration
Fehlerbehebung
Für Entwickler
- access-app.json (
ribbonModel)
Verwandte Themen
Keine