Type | Description | |||
String | A string expression that can be formatted as follows: a prog ID, a CLSID, a URL, a reference to an Active document , a fragment of HTML. |
The Control property must be formatted in one of the following ways:
The look and feel of the inner ActiveX control depends on the identifier you are using, and the version of the library that implements the ActiveX control, so you need to consult the documentation of the inner ActiveX control you are inserting inside the exSurface control. The License property indicates a string expression that indicates the runtime license key for the component being inserted, if required. Only, the vendor of the component you are going to use is able to give you such of runtime license, so please contact the control's vendor for such of key. Your development license key is not compatible with the runtime license key, so it can't be used here.
The following screen shot shows the surface with different inner controls:
The following VB sample creates an element that hosts the Exontrol.Button control:
Private Sub Surface1_CreateElement(ByVal Element As EXSURFACELibCtl.IElement) With Element .Type = exElementHostControl .ElementFormat = """client""" .Control = "Exontrol.Button" With .Object .Caption = "<sha ;;0>Button " & Surface1.Elements.Count End With End With End Sub
The samples changes the element's Type to exElementHostControl, and after that specifies the Control property to create the desired inner control.
The following samples shows how you can host the Exontrol.Button on the surface.
VBA (MS Access, Excell...)
With Surface1 With .Elements With .Add("ActiveX") .Type = 2 .ElementFormat = """check"":18,""client""" .ShowCheckBox = True .Control = "Exontrol.Button" .Object.Caption = "<sha ;;0>button" .Height = 32 .Width = 128 End With End With End With
VB6
With Surface1 With .Elements With .Add("ActiveX") .Type = exElementHostControl .ElementFormat = """check"":18,""client""" .ShowCheckBox = True .Control = "Exontrol.Button" .Object.Caption = "<sha ;;0>button" .Height = 32 .Width = 128 End With End With End With
VB.NET
With Exsurface1 With .Elements With .Add("ActiveX") .Type = exontrol.EXSURFACELib.ElementHostTypeEnum.exElementHostControl .ElementFormat = """check"":18,""client""" .ShowCheckBox = True .Control = "Exontrol.Button" .Object.Caption = "<sha ;;0>button" .Height = 32 .Width = 128 End With End With End With
VB.NET for /COM
With AxSurface1 With .Elements With .Add("ActiveX") .Type = EXSURFACELib.ElementHostTypeEnum.exElementHostControl .ElementFormat = """check"":18,""client""" .ShowCheckBox = True .Control = "Exontrol.Button" .Object.Caption = "<sha ;;0>button" .Height = 32 .Width = 128 End With End With End With
C++
/* Copy and paste the following directives to your header file as it defines the namespace 'EXSURFACELib' for the library: 'ExSurface 1.0 Control Library' #import <ExSurface.dll> using namespace EXSURFACELib; */ EXSURFACELib::ISurfacePtr spSurface1 = GetDlgItem(IDC_SURFACE1)->GetControlUnknown(); EXSURFACELib::IElementsPtr var_Elements = spSurface1->GetElements(); EXSURFACELib::IElementPtr var_Element = var_Elements->Add("ActiveX",vtMissing,vtMissing,vtMissing,vtMissing,vtMissing); var_Element->PutType(EXSURFACELib::exElementHostControl); var_Element->PutElementFormat(L"\"check\":18,\"client\""); var_Element->PutShowCheckBox(VARIANT_TRUE); var_Element->PutControl(L"Exontrol.Button"); /* Copy and paste the following directives to your header file as it defines the namespace 'EXBUTTONLib' for the library: 'ExButton 1.0 Control Library' #import <ExButton.dll> using namespace EXBUTTONLib; */ ((EXBUTTONLib::IButtonPtr)(var_Element->GetObject()))->PutCaption(L"<sha ;;0>button"); var_Element->PutHeight(32); var_Element->PutWidth(128);
C++ Builder
Exsurfacelib_tlb::IElementsPtr var_Elements = Surface1->Elements; Exsurfacelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("ActiveX"),TNoParam(),TNoParam(),TNoParam(),TNoParam(),TNoParam()); var_Element->Type = Exsurfacelib_tlb::ElementHostTypeEnum::exElementHostControl; var_Element->ElementFormat = L"\"check\":18,\"client\""; var_Element->ShowCheckBox = true; var_Element->Control = L"Exontrol.Button"; (IDispatch*)var_Element->Object->Caption = L"<sha ;;0>button"; var_Element->Height = 32; var_Element->Width = 128;
C#
exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; exontrol.EXSURFACELib.Element var_Element = var_Elements.Add("ActiveX",null,null,null,null,null); var_Element.Type = exontrol.EXSURFACELib.ElementHostTypeEnum.exElementHostControl; var_Element.ElementFormat = "\"check\":18,\"client\""; var_Element.ShowCheckBox = true; var_Element.Control = "Exontrol.Button"; // Add 'ExButton 1.0 Control Library' reference to your project. (var_Element.Object as exontrol.EXBUTTONLib.exbutton).Caption = "<sha ;;0>button"; var_Element.Height = 32; var_Element.Width = 128;
JavaScript
<OBJECT classid="clsid:AC1DF7F4-0919-4364-8167-2F9B5155EA4B" id="Surface1"></OBJECT> <SCRIPT LANGUAGE="JScript"> var var_Elements = Surface1.Elements; var var_Element = var_Elements.Add("ActiveX",null,null,null,null,null); var_Element.Type = 2; var_Element.ElementFormat = "\"check\":18,\"client\""; var_Element.ShowCheckBox = true; var_Element.Control = "Exontrol.Button"; var_Element.Object.Caption = "<sha ;;0>button"; var_Element.Height = 32; var_Element.Width = 128; </SCRIPT>
C# for /COM
EXSURFACELib.Elements var_Elements = axSurface1.Elements; EXSURFACELib.Element var_Element = var_Elements.Add("ActiveX",null,null,null,null,null); var_Element.Type = EXSURFACELib.ElementHostTypeEnum.exElementHostControl; var_Element.ElementFormat = "\"check\":18,\"client\""; var_Element.ShowCheckBox = true; var_Element.Control = "Exontrol.Button"; // Add 'ExButton 1.0 Control Library' reference to your project. (var_Element.Object as EXBUTTONLib.Button).Caption = "<sha ;;0>button"; var_Element.Height = 32; var_Element.Width = 128;
X++ (Dynamics Ax 2009)
public void init() { COM com_Element,com_Elements,com_Object; anytype var_Element,var_Elements,var_Object; ; super(); var_Elements = exsurface1.Elements(); com_Elements = var_Elements; var_Element = com_Elements.Add("ActiveX"); com_Element = var_Element; com_Element.Type(2/*exElementHostControl*/); com_Element.ElementFormat("\"check\":18,\"client\""); com_Element.ShowCheckBox(true); com_Element.Control("Exontrol.Button"); var_Object = COM::createFromObject(com_Element.Object()); com_Object = var_Object; com_Object.Caption("<sha ;;0>button"); com_Element.Height(32); com_Element.Width(128); }
Delphi 8 (.NET only)
with AxSurface1 do begin with Elements do begin with Add('ActiveX',Nil,Nil,Nil,Nil,Nil) do begin Type := EXSURFACELib.ElementHostTypeEnum.exElementHostControl; ElementFormat := '"check":18,"client"'; ShowCheckBox := True; Control := 'Exontrol.Button'; (Object as EXBUTTONLib.Button).Caption := '<sha ;;0>button'; Height := 32; Width := 128; end; end; end
Delphi (standard)
with Surface1 do begin with Elements do begin with Add('ActiveX',Null,Null,Null,Null,Null) do begin Type := EXSURFACELib_TLB.exElementHostControl; ElementFormat := '"check":18,"client"'; ShowCheckBox := True; Control := 'Exontrol.Button'; (IUnknown(Object) as EXBUTTONLib_TLB.Button).Caption := '<sha ;;0>button'; Height := 32; Width := 128; end; end; end
VFP
with thisform.Surface1 with .Elements with .Add("ActiveX") .Type = 2 .ElementFormat = ""+chr(34)+"check"+chr(34)+":18,"+chr(34)+"client"+chr(34)+"" .ShowCheckBox = .T. .Control = "Exontrol.Button" .Object.Caption = "<sha ;;0>button" .Height = 32 .Width = 128 endwith endwith endwith
dBASE Plus
local oSurface,var_Element,var_Elements oSurface = form.Activex1.nativeObject var_Elements = oSurface.Elements var_Element = var_Elements.Add("ActiveX") var_Element.Type = 2 var_Element.ElementFormat = "" + ["] + "check" + ["] + ":18," + ["] + "client" + ["] + "" var_Element.ShowCheckBox = true var_Element.Control = "Exontrol.Button" var_Element.Object.Caption = "<sha ;;0>button" var_Element.Height = 32 var_Element.Width = 128
XBasic (Alpha Five)
Dim oSurface as P Dim var_Element as P Dim var_Elements as P oSurface = topparent:CONTROL_ACTIVEX1.activex var_Elements = oSurface.Elements var_Element = var_Elements.Add("ActiveX") var_Element.Type = 2 var_Element.ElementFormat = "\"check\":18,\"client\"" var_Element.ShowCheckBox = .t. var_Element.Control = "Exontrol.Button" var_Element.Object.Caption = "<sha ;;0>button" var_Element.Height = 32 var_Element.Width = 128
Visual Objects
local var_Element as IElement local var_Elements as IElements var_Elements := oDCOCX_Exontrol1:Elements var_Element := var_Elements:Add("ActiveX",nil,nil,nil,nil,nil) var_Element:Type := exElementHostControl var_Element:ElementFormat := "" + CHR(34) + "check" + CHR(34) + ":18," + CHR(34) + "client" + CHR(34) + "" var_Element:ShowCheckBox := true var_Element:Control := "Exontrol.Button" // Generate Source for 'ExButton 1.0 Control Library' server from Tools\Automation Server... IButton{var_Element:Object}:Caption := "<sha ;;0>button" var_Element:Height := 32 var_Element:Width := 128
PowerBuilder
OleObject oSurface,var_Element,var_Elements oSurface = ole_1.Object var_Elements = oSurface.Elements var_Element = var_Elements.Add("ActiveX") var_Element.Type = 2 var_Element.ElementFormat = "" + CHAR(34) + "check" + CHAR(34) + ":18," + CHAR(34) + "client" + CHAR(34) + "" var_Element.ShowCheckBox = true var_Element.Control = "Exontrol.Button" var_Element.Object.Caption = "<sha ;;0>button" var_Element.Height = 32 var_Element.Width = 128
Visual DataFlex
Procedure OnCreate Forward Send OnCreate Variant voElements Get ComElements to voElements Handle hoElements Get Create (RefClass(cComElements)) to hoElements Set pvComObject of hoElements to voElements Variant voElement Get ComAdd of hoElements "ActiveX" Nothing Nothing Nothing Nothing Nothing to voElement Handle hoElement Get Create (RefClass(cComElement)) to hoElement Set pvComObject of hoElement to voElement Set ComType of hoElement to OLEexElementHostControl Set ComElementFormat of hoElement to ""check":18,"client"" Set ComShowCheckBox of hoElement to True Set ComControl of hoElement to "Exontrol.Button" Variant voButton Get ComObject of hoElement to voButton Handle hoButton Get Create (RefClass(cComButton)) to hoButton Set pvComObject of hoButton to voButton Set ComCaption of hoButton to "<sha ;;0>button" Send Destroy to hoButton Set ComHeight of hoElement to 32 Set ComWidth of hoElement to 128 Send Destroy to hoElement Send Destroy to hoElements End_Procedure
XBase++
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oElement LOCAL oElements LOCAL oSurface oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oSurface := XbpActiveXControl():new( oForm:drawingArea ) oSurface:CLSID := "Exontrol.Surface.1" /*{AC1DF7F4-0919-4364-8167-2F9B5155EA4B}*/ oSurface:create(,, {10,60},{610,370} ) oElements := oSurface:Elements() oElement := oElements:Add("ActiveX") oElement:Type := 2/*exElementHostControl*/ oElement:ElementFormat := "" + CHR(34) + "check" + CHR(34) + ":18," + CHR(34) + "client" + CHR(34) + "" oElement:ShowCheckBox := .T. oElement:Control := "Exontrol.Button" oElement:Object():Caption := "<sha ;;0>button" oElement:Height := 32 oElement:Width := 128 oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN