01-09-2014 3:42 PM
Hi Expert,
I have to develop a specific user control in SAP GUI does any SDK exist to do it ?
Thanks and regards
Jonathan
01-09-2014 11:00 PM
As far as I know there is not an SDK.
For this requirement we developed activex control(.NET Visual Class library) and registered it on client
and to be able call this control from ABAP we created a 'proxy' class. This ABAP class
inherited from CL_GUI_CONTROL and it is created using CLSID parameter ( the name of
activex control in windows registry is passed).
This class has same methods as our activex control.
As a detail; this class is just a wrapper for OLE object creation and method calls..
I want to write a blog about this topic someday..
01-10-2014 8:38 AM
Hi Tunaham,
Thanks for your answer, but I have still written my own GUI Controller and the proxy class the problem come from to raise the drag/drop event or doubleclick. I have posted a thread to this adress :
http://scn.sap.com/thread/3481151
I have copy the constructor of the class CL_GUI_TEXTEDIT and changing the CLSID but this change nothing could you please tell me how to do this ?
Thanks and regards
Jonathan
01-10-2014 9:20 AM
Hi Jonathan,
I did not try drag drop event for Activex control but I would call Activex control's drop event on
drop event of proxy class.
If you handled drag-drop related issues at ABAP side like standart example program RSDEMO_DRAG_DROP_EDIT_TREE (cl_drag_drop object, dd handle , dd flavour etc) it should work.
Does your proxy class implement IF_DRAGDROP interface like CL_GUI_TEXTEDIT ?
I am asking because in your video I see that while you are dragging onto your own control, drop
icon does not appear.
Good luck
01-10-2014 9:46 AM
Hi,
Thanks, As I understand on Active X Control, is not necessary to activate the drag-drop in the Active X control, Normally the drag drop event is managed by the SAP GUI. If you have a look on the program RSDEMO you have the class lcl_drag_drop_receiver that responding to the different event and the class lcl_drag_object that corresponding to a draged object. If I understand, it's in the class lcl_dradrop_receiver that I have to implement a method to interact with my GUI control importing the draged object.
you can have a look here:
Thanks for your help