Kontextmenüs werden vom SAP GUI for HTML nicht unterstützt.
Verwendung
Das Kontextmenü (rechte Maustaste,
SHIFT F10 ) ermöglicht das Anzeigen von kontextsensitiven Menüs. Der Kontext wird über den Ort definiert, an dem der Benutzer das Kontextmenü aufgerufen hatDer Benutzer kann über das Kontextmenü Funktionen auswählen, die für den aktuellen Kontext relevant sind.
Funktionsumfang
Soll auf einem Custom Control ein Kontextmenü implementiert werden, muß das Ereignis für das Anfordern eines Kontextmenüs (Ereignis
context_menu ) registriert werden. Das Ereignis für das Auswählen eines Eintrags im Kontextmenü (Ereignis context_menu_selected ) wird entweder von der Control-Verschalung automatisch registriert (z.B. SAP Tree) oder muß explizit registriert werden (z.B. SAP Picture).Fordert der Benutzer auf einem Objekt ein Kontextmenü an, wird über den normalen
Ereignismechanismus das Anwendungsprogramm aufgerufen. In der Ereignisbehandlermethode zum Ereignis context_menu erhält das Programm als Ereignisparameter eine Menüreferenz. Das Programm benutzt diese Menüreferenz, um das anzuzeigende Menü aufzubauen. Dabei können mit dem Menu Painter definierte Menüs oder dynamisch aufgebaute Menüs benutzt werden. Nach Verlassen der Ereignisbehandlermethode wird das Kontextmenü automatisch angezeigt.Das SAP Picture bildet eine Ausnahme. Hier bekommen Sie keine Menüreferenz als Ereignisparameter übergeben.
Wird eine Menüfunktion des Kontextmenüs ausgewählt, wird wiederum ein Ereignis ausgelöst, das an das Applikationsprogramm übergeben wird. Auch auf dieses Ereignis muß die Applikation eine Behandlermethode registrieren. In der Behandlermethode wird der übergebene Funktionscode ausgewertet, der über einen Ereignisparameter übergeben wird.
Aktivitäten
Der SAP Tree bildet eine Ausnahme bei der Registrierung von den Ereignissen. Hier muß nur das Ereignis
Aufbau des Kontextmenüs
In der Implementierung der Behandlermethode für das Ereignis
context_menu muß das Menü dem Control zugeordnet werden. Dabei muß unter Umständen geprüft werden, in welchem Kontext das Kontextmenü aufgerufen wurde.Der Aufbau des Kontextmenüs erfolgt über die Klasse
CL_CTMENU . Bei fast allen Control-Verschalungen bekommen Sie als Ereignisparameter des Ereignisses context_menu eine Kontextmenü-Objektreferenz geliefert. Ist dies nicht der Fall (z.B. beim SAP Picture), müssen Sie ein Objekt der Klasse CL_CTMENU erzeugen.Auf das Kontextmenüobjekt können Sie folgende Methoden anwenden:
Methode |
Bedeutung |
LOAD_GUI_STATUS |
Laden eines im Menu Painter vordefinierten Kontextmenüs (siehe unten) |
ADD_FUNCTION |
Hinzufügen einer Funktion |
ADD_MENU |
Hinzufügen eines im Menu Painter definierten Menüs |
ADD_SUBMENU |
Hinzufügen eines im Menu Painter definierten Menüs als Submenü |
ADD_SEPARATOR |
Hinzufügen einer Trennlinie |
RESET |
Zurücksetzen auf Initialwert |
HIDE FUNCTIONS |
Ausblenden einer Funktion |
SHOW_FUNCTIONS |
Einblenden einer Funktion |
DISABLE_FUNCTIONS |
Deaktivieren einer Funktion |
ENABLE_FUNCTIONS |
Aktivieren einer Funktion |
Nach Verlassen der Ereignisbehandlermethode wird das Kontextmenü automatisch angezeigt. Ausnahme bilden hier das SAP Picture Control und das SAP Toolbar Control. Bei diesen Controls muß das Kontextmenü explizit über die Methode
display_context_menu angezeigt werden.Auswerten des Funktionscodes
Die Interpretation des ausgewählten Menüpunktes erfolgt in der Behandlermethode zum Ereignis
context_menu_selected . Über den Funktionscode wird das ausgewählte Menü identifiziert und eine entsprechende Reaktion ausgeführt.