====== Vega.Actions — Ein Befehl, mehrere Bedienelemente ====== Sobald eine Anwendung „Speichern“ im Menü, in der Werkzeugleiste und auf einem Knopf anbietet, steht dieselbe Sache dreimal im Code — dreimal die Beschriftung, dreimal der Hinweis, dreimal das Sperren. ''TAction'' bündelt das an einer Stelle, ''TActionList'' hält die Befehle einer Anwendung und aktualisiert sie regelmäßig. Quelldatei: ''Vega/Actions.lyx'' → [[lyx_-_programmiersprache:vega:units|Alle Units]] · [[lyx_-_programmiersprache:vega:controls|Alle Steuerelemente]] · [[lyx_-_programmiersprache:vega|Vega VCL]] ---- ===== Klassen ===== ^ Klasse ^ Basis ^ Zweck ^ | ''TAction'' | — | Ein Befehl: Beschriftung, Hinweis, Kürzel, Zustand, ''OnExecute'', ''OnUpdate'' | | ''TActionList'' | — | Sammlung der Befehle; ruft die ''OnUpdate''-Handler in festem Abstand | ===== Typaliase ===== ^ Name ^ Ist ^ Zweck ^ | ''TActionEvent'' | ''fn(action: TAction): void'' | Handler eines Befehls | ===== Konstanten ===== ^ Name ^ Typ ^ Wert ^ Bedeutung ^ | ''VEGA_ACTION_UPDATE_MS'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''150'' | Abstand, in dem ''OnUpdate'' gerufen wird | ===== Freie Funktionen ===== ^ Signatur ^ Zweck ^ | ''NewActionList(): TActionList'' | Erzeugt eine leere Befehlsliste | | ''NewAction(caption: pchar): TAction'' | Erzeugt einen Befehl mit dieser Beschriftung | | ''ActionOf(c: TControl): TAction'' | Der Befehl, der an diesem Control hängt | | ''ActionOfItem(m: TMenuItem): TAction'' | Der Befehl, der an diesem Menüeintrag hängt | ---- ===== Zu beachten ===== * Die Liste muss der Anwendung bekannt sein: ohne ''app.AddActionList(al)'' läuft kein ''OnUpdate'' und kein Tastenkürzel. * Verknüpft wird über ''LinkMenuItem'' und ''LinkControl''; Beschriftung, Hinweis und Gesperrt-Zustand wandern von dort aus in jedes verbundene Element. * ''OnUpdate'' ist der Ort für „darf man das gerade?“ — nicht der Handler des Knopfes. ---- ===== Abhängigkeiten ===== **Importiert:** [[lyx_-_programmiersprache:vega:units:types|Vega.Types]], [[lyx_-_programmiersprache:vega:units:events|Vega.Events]], [[lyx_-_programmiersprache:vega:units:canvas|Vega.Canvas]], [[lyx_-_programmiersprache:vega:units:theme|Vega.Theme]], [[lyx_-_programmiersprache:vega:units:control|Vega.Control]], [[lyx_-_programmiersprache:vega:units:font|Vega.Font]], [[lyx_-_programmiersprache:vega:units:strings|Vega.Strings]], [[lyx_-_programmiersprache:vega:units:lists|Vega.Lists]], [[lyx_-_programmiersprache:vega:units:style|Vega.Style]], [[lyx_-_programmiersprache:vega:units:stdctrls|Vega.StdCtrls]], [[lyx_-_programmiersprache:vega:units:menus|Vega.Menus]] **Wird importiert von:** [[lyx_-_programmiersprache:vega:units:forms|Vega.Forms]] Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus ''Vega/Actions.lyx'' erhoben.