Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

insert logo

Former Member
0 Kudos

hello,

please explain me that, how to insert the logo in one zfiles. what is the procedure, please send me the sample zprogramme of the same to understand easily.

thanks

suja

2 REPLIES 2

Former Member
0 Kudos

Hi,

Using OOPS Concept its possile.

Check this sample code,

DATA:

docking TYPE REF TO cl_gui_docking_container,

picture_control_1 TYPE REF TO cl_gui_picture,

url(256) TYPE c .

DATA : sum(4) , num1(4) , num2(4).

PARAMETERS: p_dummy(4) DEFAULT '4' .

PARAMETERS: p_dummy1(4) DEFAULT '5' .

AT SELECTION-SCREEN OUTPUT.

PERFORM show_pic.

START-OF-SELECTION.

num1 = p_dummy.

num2 = p_dummy1.

sum = num1 + num2.

WRITE : / sum.

&----


*& Form show_pic

&----


FORM show_pic.

DATA: repid LIKE sy-repid.

repid = sy-repid.

CREATE OBJECT picture_control_1 EXPORTING parent = docking.

CHECK sy-subrc = 0.

CALL METHOD picture_control_1->set_3d_border

EXPORTING

border = 5.

CALL METHOD picture_control_1->set_display_mode

EXPORTING

display_mode = cl_gui_picture=>display_mode_stretch.

CALL METHOD picture_control_1->set_position

EXPORTING

height = 150

left = 700

top = 10

width = 138.

CALL METHOD picture_control_1->load_picture_from_url

EXPORTING

url = 'PIX PATHNAME'.

IF sy-subrc NE 0.

  • Fehlerbehandlung

ENDIF.

ENDFORM. "show_pic

Thanks,

Reward If Helpful.

Former Member
0 Kudos

hi suja,

i will give u a sample code.

pls go through it.

program sap_picture_demo.

set screen 200.

TYPE-POOLS cndp.

************************************************************************

  • CLASS c_event_receiver

  • DEFINITION

************************************************************************

class c_event_receiver definition.

  • The class is used to test the events raised by the cl_gui_picture

  • class

public section.

methods event_handler_picture_dblclick

for event picture_dblclick of cl_gui_picture

importing mouse_pos_x mouse_pos_y sender.

methods event_handler_context_menu

for event context_menu of cl_gui_picture

importing sender.

methods event_handler_context_menu_sel

for event context_menu_selected of cl_gui_picture

importing fcode sender.

endclass.

************************************************************************

  • DATA

************************************************************************

data function like sy-ucomm. " OK-Code field in screen 200

data url type cndp_url. " URL-field in screen 200

data url2 type cndp_url. " URL-field in screen 200

data picture_control_1 type ref to cl_gui_picture.

data picture_control_2 type ref to cl_gui_picture.

data container_1 type ref to cl_gui_custom_container.

data container_2 type ref to cl_gui_custom_container.

data event_receiver type ref to c_event_receiver.

data event_tab type cntl_simple_events.

data event_tab_line type cntl_simple_event.

data return type i.

************************************************************************

  • PBO

  • before_output

************************************************************************

module before_output output.

set pf-status 'MAIN0001'.

IF PICTURE_CONTROL_1 IS INITIAL.

  • Create controls

create object container_1

exporting container_name = 'PICTURE_CONTROL_1'.

create object container_2

exporting container_name = 'PICTURE_CONTROL_2'.

CREATE OBJECT PICTURE_CONTROL_1 exporting parent = container_1.

CREATE OBJECT PICTURE_CONTROL_2 exporting parent = container_2.

  • Register the events

EVENT_TAB_LINE-EVENTID = CL_GUI_PICTURE=>EVENTID_PICTURE_DBLCLICK.

append EVENT_TAB_LINE to EVENT_TAB.

EVENT_TAB_LINE-EVENTID = CL_GUI_PICTURE=>EVENTID_CONTEXT_MENU.

append EVENT_TAB_LINE to EVENT_TAB.

EVENT_TAB_LINE-EVENTID = CL_GUI_PICTURE=>EVENTID_CONTEXT_MENU_SELECTED.

append EVENT_TAB_LINE to EVENT_TAB.

CALL METHOD PICTURE_CONTROL_1->SET_REGISTERED_EVENTS

exporting

EVENTS = event_tab.

CALL METHOD PICTURE_CONTROL_2->SET_REGISTERED_EVENTS

exporting

EVENTS = event_tab.

  • Create the event_receiver object and set the handlers for the events

  • of the picture controls

create object event_receiver.

set handler event_receiver->event_handler_picture_dblclick

FOR PICTURE_CONTROL_1.

set handler event_receiver->event_handler_context_menu

FOR PICTURE_CONTROL_1.

set handler event_receiver->event_handler_context_menu_sel

FOR PICTURE_CONTROL_1.

set handler event_receiver->event_handler_picture_dblclick

FOR PICTURE_CONTROL_2.

set handler event_receiver->event_handler_context_menu

FOR PICTURE_CONTROL_2.

set handler event_receiver->event_handler_context_menu_sel

FOR PICTURE_CONTROL_2.

  • Set the display mode to 'normal' (0)

CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL.

CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL.

  • Set 3D Border

CALL METHOD PICTURE_CONTROL_1->SET_3D_BORDER

exporting border = 1.

CALL METHOD PICTURE_CONTROL_2->SET_3D_BORDER

exporting border = 1.

  • new async implementation since 4.6C

CALL FUNCTION 'DP_PUBLISH_WWW_URL'

EXPORTING

OBJID = 'HTMLCNTL_TESTHTM2_SAP_AG'

LIFETIME = cndp_lifetime_transaction

IMPORTING

URL = url

EXCEPTIONS

OTHERS = 1.

  • Load the picture by using the url generated by the data provider.

if sy-subrc = 0.

CALL METHOD PICTURE_CONTROL_1->LOAD_PICTURE_FROM_URL_ASYNC

exporting url = url.

endif.

CALL FUNCTION 'DP_PUBLISH_WWW_URL'

EXPORTING

OBJID = 'DEMOWORD97SAPLOGO'

LIFETIME = cndp_lifetime_transaction

IMPORTING

URL = url2

EXCEPTIONS

OTHERS = 1.

  • load image

if sy-subrc = 0.

CALL METHOD PICTURE_CONTROL_2->LOAD_PICTURE_FROM_URL_async

exporting url = url2.

endif.

endif.

endmodule.

************************************************************************

  • PAI

  • after_input

************************************************************************

module after_input input.

case function.

  • At the end of the program destroy the control

when 'BACK'.

CALL METHOD container_1->FREE.

CALL METHOD container_2->FREE.

leave to screen 0.

  • Change the display mode

when 'NORMAL'.

CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL.

CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL.

when 'STRETCH'.

CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_STRETCH.

CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_STRETCH.

when 'FIT'.

CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT.

CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT.

when 'NORMAL_CTR'.

CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL_CENTER.

CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL_CENTER.

when 'FIT_CTR'.

CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT_CENTER.

CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT_CENTER.

  • Clear the picture

when 'CLEAR'.

CALL METHOD PICTURE_CONTROL_1->CLEAR_PICTURE.

  • Load a new picture

when space.

CALL METHOD PICTURE_CONTROL_1->LOAD_PICTURE_FROM_URL

exporting url = url

importing result = return.

call method cl_gui_cfw=>flush.

if return = 0.

url = text-000.

endif.

endcase.

clear function.

endmodule.

************************************************************************

  • CLASS c_event_receiver

  • IMPLEMENTATION

************************************************************************

CLASS C_event_receiver implementation.

************************************************************************

  • CLASS c_event_receiver

  • METHOD event_handler_picture_dblclick

************************************************************************

METHOD EVENT_HANDLER_PICTURE_DBLCLICK.

  • for event picture_dblclick of c_picture_control

  • importing mouse_pos_x mouse_pos_y.

DATA pos_x(5) type c.

DATA pos_y(5) type c.

pos_x = mouse_pos_x.

pos_y = mouse_pos_y.

IF SENDER = PICTURE_CONTROL_1.

MESSAGE I000(0K) WITH

'DoubleClick' 'Upper Picture' POS_X POS_Y. "#EC NOTEXT

else.

MESSAGE I000(0K) WITH

'DoubleClick' 'Lower Picture' POS_X POS_Y. "#EC NOTEXT

endif.

endmethod.

************************************************************************

  • CLASS c_event_receiver

  • METHOD event_handler_context_menu

************************************************************************

METHOD EVENT_HANDLER_CONTEXT_MENU.

data menu type ref to cl_ctmenu.

create object menu.

call method menu->ADD_FUNCTION exporting

fcode = text-001

TEXT = TEXT-001.

call method menu->ADD_FUNCTION exporting

FCODE = TEXT-002

TEXT = TEXT-002.

call method menu->ADD_FUNCTION exporting

FCODE = TEXT-003

TEXT = TEXT-003.

call method menu->ADD_FUNCTION exporting

FCODE = TEXT-004

TEXT = TEXT-004.

call method menu->ADD_FUNCTION exporting

FCODE = TEXT-005

TEXT = TEXT-005.

CALL METHOD SENDER->DISPLAY_CONTEXT_MENU

EXPORTING CONTEXT_MENU = MENU.

endmethod.

************************************************************************

  • CLASS c_event_receiver

  • METHOD event_handler_context_menu_sel

************************************************************************

METHOD EVENT_HANDLER_CONTEXT_MENU_sel.

DATA DISPLAY_MODE TYPE I.

IF FCODE = TEXT-001.

DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL.

ENDIF.

IF FCODE = TEXT-002.

DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_STRETCH.

ENDIF.

IF FCODE = TEXT-003.

DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT.

ENDIF.

IF FCODE = TEXT-004.

DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL_CENTER.

ENDIF.

IF FCODE = TEXT-005.

DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT_CENTER.

ENDIF.

CALL METHOD SENDER->SET_DISPLAY_MODE

EXPORTING DISPLAY_MODE = DISPLAY_MODE.

endmethod.

endclass.

<b>Pls rewad if helpful.</b>