ABAP—splitter与docking联合使用

ABAPsplitterdocking联合使用

  METHOD constructor.
    DATAl_event_tab        TYPE cntl_simple_events,
          l_event            LIKE LINE OF l_event_tab,
          l_docking          TYPE REF TO cl_gui_docking_container,
          l_splitter         TYPE REF TO cl_gui_splitter_container,
          l_container_screen TYPE REF TO cl_gui_custom_container,
          l_container_top    TYPE REF TO cl_gui_container,
          l_container_bottom TYPE REF TO cl_gui_container.

    CREATE OBJECT container_html
           
EXPORTING container_name 'CUSTOM_CONTROL'.

    CREATE OBJECT l_docking
           
EXPORTING side cl_gui_docking_container=>dock_at_left
                     extension 
135.

    CREATE OBJECT l_splitter
           
EXPORTING parent l_docking
                     
rows 2
                     columns 1.

    l_splitter->set_border(
         EXPORTING border cl_gui_cfw=>false ).

    l_splitter->set_row_mode(
         EXPORTING mode l_splitter->mode_absolute ).

    l_splitter->set_row_height(
         EXPORTING id 1
                   height 180 ).

    l_container_top    =
      l_splitter->get_containerrow column ).
    l_container_bottom =
      l_splitter->get_containerrow column ).

    CREATE OBJECT picture
           
EXPORTING parent l_container_top.

    CREATE OBJECT tree
           
EXPORTING parent l_container_bottom
                     node_selection_mode 
=
                       cl_gui_simple_tree=>node_sel_mode_single.

    l_event-eventid cl_gui_simple_tree=>eventid_node_double_click.
    l_event-appl_event ' '.   "system event, does not trigger PAI
    APPEND l_event TO l_event_tab.
    tree->set_registered_events(
         EXPORTING events l_event_tab ).
    SET HANDLER me->handle_node_double_click FOR tree.

    me->fill_picture( ).
    me->fill_tree( ).
  ENDMETHOD.                    "constructor

这种用法回避了splitter container只能分割成偶数块的尴尬

效果展示:

猜你喜欢

转载自blog.csdn.net/Sundam/article/details/84316624