LlDesignerAddAction

Syntax:

INT LlDesignerAddAction(HLLJOB hJob, UINT nID, UINT nFlags, LPCTSTR pszMenuText, LPCTSTR pszMenuHierarchy, LPCTSTR pszTooltipText, UINT nIcon, LPVOID pvReserved);

Aufgabe:

Erweitert den Designer und wahlweise auch die Toolbar des Designers um eigene Menüpunkte. Im Unterschied zur Verwendung des Callbacks LL_CMND_MODIFYMENU kann hier auch eine Schaltfläche mit wählbarem Icon zur Toolbar hinzugefügt werden. Dieser Befehl muss vor LlDefineLayout() aufgerufen werden.

Parameter:

hJob: List & Label-Job-Handle

nID: Menü-ID für die neu hinzuzufügende Aktion. Diese ID erhalten Sie im Callback LL_CMND_SELECTMENU, wenn der Benutzer den zugehörigen Menüpunkt oder Button ausgewählt hat. Benutzerdefinierte IDs sollten im Bereich zwischen 10100 und 10999 liegen.

nFlags: Kombination (ODER-Verknüpfung) der folgenden Flags:

Wert

Bedeutung

LLDESADDACTIONFLAG_ADD_­TO_­TOOLBAR

Zusätzlich zum Menüeintrag eine Schaltfläche zur Toolbar hinzufügen.

LLDESADDACTION_MENUITEM_­APPEND

Der Menüpunkt wird hinter dem in pszMenuHierarchy bezeichneten Eintrag eingefügt.

LLDESADDACTION_MENUITEM_­INSERT

Der Menüpunkt wird vor dem in pszMenuHierarchy bezeichneten Eintrag eingefügt.

 

Sowie wahlweise zusätzlich einen Keycode als Shortcut und eine Kombination (ODER-Verknüpfung) der folgenden Flags als Modifikator:

Wert

Bedeutung

LLDESADDACTION_ACCEL_CON­TROL

Tastaturkürzel ist STRG+Keycode.

LLDESADDACTION_ACCEL_SHIFT

Tastaturkürzel ist UMSCHALT+Keycode.

LLDESADDACTION_ACCEL_ALT

Tastaturkürzel ist ALT+Keycode.

LLDESADDACTION_ACCEL_VIRT­KEY

Sollte immer gesetzt sein.

 

pszMenuText: Menütext ohne Tastaturshortcut (dieser wird automatisch ergänzt). Sie können aber das "&"-Zeichen für die Vergabe der Kurztaste bei Menünavigation verwenden. Um Untermenüpunkte anzulegen verwenden Sie "." als Hierarchietrenner. Um z. B. ein Menü "Vorlagen" mit dem Unterpunkt "Rechnung" anzulegen, verwenden Sie "Vorlagen.Rechnung" als Menütext.

pszMenuHierarchy: Menühierarchie des neuen Menüpunkts. Die Angabe erfolgt in der Form "<Ebene>.<Ebene>…" wobei "Ebene" jeweils der 0-basierende Index des Menüeintrages ist. Um z. B. in das "Bearbeiten"-Menü an erster Stelle einen neuen Eintrag einzufügen, verwenden Sie "1.0" und LLDESADDACTION_MENUITEM_INSERT.

pszTooltipText: Text für den Tooltip der Toolbarschaltfläche. Wird nur ausgewertet, wenn das Flag LLDESADDACTIONFLAG_ADD_TO_TOOLBAR gesetzt wird. Darf NULL sein.

nIcon: Icon-ID für die Schaltfläche. Wird nur ausgewertet, wenn das Flag LLDESADDACTIONFLAG_ADD_TO_TOOLBAR gesetzt wird. Verwenden Sie das Programm IconSelector.exe (im Tools-Verzeichnis) um die verfügbaren Icons mit ihren IDs angezeigt zu bekommen.

pvReserved: Für zukünftige Erweiterungen, muss NULL sein.

 

Rückgabewert:

Fehlercode

Hinweise:

Um die eigentliche Aktion auszuführen muss der LL_CMND_SELECTMENU-Callback behandelt werden.

Siehe auch:

LlDefineLayout