Definition eines
Kontextmenüs
Das ALV Grid Control benutzt das
Kontextmenü
und belegt es mit Standardfunktionen. Sie können es kontextsensitiv um eigene
Funktionen erweitern und gegebene Funktionen ausblenden oder deaktivieren.
Das Kontextmenü ist eine Instanz der Klasse CL_CTMENU. Wird das Ereignis CONTEXT_MENU_REQUEST vom Benutzer ausgelöst, so enthält der Ereignisparameter E_OBJECTeine Referenz auf das Standard-Kontextmenü.

Siehe auch den Report BCALV_GRID_06 in der Entwicklungsklasse SLIS .
Sie können dieses Menü folgendermaßen verändern:
· Um eine Zeile im Menü hinzuzufügen, rufen Sie die Methode add_function auf:
CALL METHOD
E_OBJECT->ADD_FUNCTION
EXPORTING
FCODE = 'DELE'
TEXT = TEXT-003.
"Löschen
· Um schon vorhandene Funktionen zu deaktivieren (Anzeige in Ghost-Schrift), übergeben Sie alle entsprechenden Funktionscodes der Methode disable_functions in einer Tabelle:
·
DATA:
LT_FCODES TYPE UI_FUNCTIONS,
CLEAR LT_FCODES.
APPEND CL_GUI_ALV_GRID=>MC_FC_COL_OPTIMIZE TO LT_FCODES.
APPEND CL_GUI_ALV_GRID=>MC_FC_HELP TO LT_FCODES.
CALL METHOD E_OBJECT->DISABLE_FUNCTIONS
EXPORTING FCODES = LT_FCODES.
· Um schon vorhandene Funktionen auszublenden, gehen Sie genauso vor und rufen statt der Methode disable_functions die Methode hide_functions auf.
Mit den Methoden enable_functions und show_functions können Sie die jeweiligen Funktionen wieder aktivieren beziehungsweise anzeigen.

Die Funktionskodes zu eigenen Funktionen fragen Sie beim Ereignis user_command ab.