クリックするとドロップダウンメニューが表示されるアプリケーションツールバーにボタンを作成しようとしています。ただし、これは ALV グリッドのないカスタム画面なので、ALV クラス メソッドは使用できません。GUI ステータスでボタンと fcode を作成し、カスタム画面を呼び出すときに設定しますが、ドロップダウン メニューに変換する方法が見つかりません。他に方法はありますか?
cl_gui_toolbar
メソッド add_buttonを使用できるとset_static_ctxmenu
思いましたが、実行中のツールバー インスタンスへの参照を取得する方法がわかりません。
これまでの私のコード:
*----------------------------------------------------------------------*
*& Form f_handle_menu_button
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM f_handle_menu_button.
DATA: go_toolbar TYPE REF TO cl_gui_toolbar,
go_menu TYPE REF TO cl_ctmenu.
CALL METHOD go_toolbar->add_button
EXPORTING
fcode = '&APPLY'
icon = ''
is_disabled = ''
butn_type = 1 "Pushbutton with Menu
text = 'Apply Status'.
CREATE OBJECT go_menu.
CALL METHOD go_menu->add_function
EXPORTING
fcode = '&STATUS1'
text = 'Status1'
icon = ' '
disabled = ' '
checked = ' '
hidden = ' '.
CALL METHOD go_menu->add_function
EXPORTING
fcode = '&STATUS2'
text = 'Status2'
icon = ' '
disabled = ' '
checked = ' '
hidden = ' '.
CALL METHOD go_toolbar->set_static_ctxmenu
EXPORTING
fcode = '&APPLY'
ctxmenu = go_menu.
ENDFORM. "F_HANDLE_MENU_BUTTON