В предыдущих статьях мы рассматривали создание ALV и отображение произвольного экрана через библиотеку ZCA_GUI. Сейчас рассмотрим пример удобного вывода текстового редактора на основе стандартного класса CL_GUI_TEXTEDIT.
Довольно часто приходится сталкиваться с задачей, когда пользователю необходимо отобразить текст (или дать его ввести) с добавлением некоторых кнопок на экран. Все это легко сделать через класс ZCL_GUI_SCREEN_TEXTEDIT.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
CLASS lcl_editor DEFINITION INHERITING FROM zcl_gui_screen_textedit. PUBLIC SECTION. METHODS constructor IMPORTING iv_text TYPE csequence. PRIVATE SECTION. METHODS on_pai FOR EVENT pai OF zcl_gui_screen_textedit IMPORTING iv_command. ENDCLASS. CLASS lcl_editor IMPLEMENTATION. METHOD constructor. super->constructor( iv_text ). create_function( iv_command = 'CLOSE' iv_icon = icon_close iv_text = 'Закрыть' ). SET HANDLER on_pai FOR me. ENDMETHOD. METHOD on_pai. IF iv_command EQ 'CLOSE'. SET SCREEN 0. ENDIF. ENDMETHOD. ENDCLASS. START-OF-SELECTION. DATA(lo_editor) = NEW lcl_editor( 'Начальный текст' ). lo_editor->popup( iv_col = 2 iv_row = 2 iv_width = 80 iv_height = 20 ). MESSAGE |{ lo_editor->get_text( ) }| TYPE rs_c_info. |
Присоединиться к обсуждению...