lyxvision.menu

Vollständiges Menüsystem für LyxVision-Anwendungen: TMenuBar als horizontale Menüleiste, TSubMenu als aufklappbare Untermenüs, TStatusLine als kontextsensitive Statusleiste am unteren Bildschirmrand.

lyxvision · lyxvision.tapplication · lyxvision.types


Verwendung

import lyxvision.menu;

fn BuildMenuBar(): TMenuBar {
    var mb: TMenuBar := TMenuBarNew();

    // Datei-Menü
    var mFile: TSubMenu := TSubMenuNew("~D~atei");
    TSubMenuAdd(mFile, "~N~eu",       cmNew,   kbCtrlN);
    TSubMenuAdd(mFile, "~Ö~ffnen…",   cmOpen,  kbCtrlO);
    TSubMenuAdd(mFile, "~S~peichern", cmSave,  kbCtrlS);
    TSubMenuSeparator(mFile);
    TSubMenuAdd(mFile, "~B~eenden",   cmQuit,  kbAltX);
    TMenuBarAddSub(mb, mFile);

    // Bearbeiten-Menü
    var mEdit: TSubMenu := TSubMenuNew("~B~earbeiten");
    TSubMenuAdd(mEdit, "~K~opieren",  cmCopy,  kbCtrlC);
    TSubMenuAdd(mEdit, "E~i~nfügen",  cmPaste, kbCtrlV);
    TMenuBarAddSub(mb, mEdit);

    return mb;
}

// Statusleiste
fn BuildStatusLine(): TStatusLine {
    var sl: TStatusLine := TStatusLineNew();
    TStatusLineAdd(sl, kbF1,  cmHelp,  "F1 Hilfe");
    TStatusLineAdd(sl, kbF10, cmMenu,  "F10 Menü");
    TStatusLineAdd(sl, kbAltX, cmQuit, "Alt+X Beenden");
    return sl;
}


Funktionen

Signatur Sichtbarkeit Beschreibung
TMenuBarNew(): TMenuBar pub Erzeugt leere Menüleiste
TMenuBarAddSub(mb: TMenuBar, sub: TSubMenu): void pub Fügt Untermenü zur Menüleiste hinzu
TSubMenuNew(title: pchar): TSubMenu pub Erzeugt Untermenü; Tilde markiert Buchstabenkürzel
TSubMenuAdd(sub: TSubMenu, title: pchar, cmd: int64, key: int64): void pub Fügt Menüeintrag mit Command und Tastaturkürzel hinzu
TSubMenuSeparator(sub: TSubMenu): void pub Fügt horizontale Trennlinie ein
TSubMenuAddSub(sub: TSubMenu, child: TSubMenu): void pub Fügt verschachteltes Untermenü ein
TStatusLineNew(): TStatusLine pub Erzeugt Statusleiste
TStatusLineAdd(sl: TStatusLine, key: int64, cmd: int64, label: pchar): void pub Fügt Tastaturkürzel-Eintrag zur Statusleiste hinzu

Letzte Aktualisierung: 2026-05-22