excombobox - sample code |
How can I add or insert child items? VBA (MS Access, Excell...) With ComboBox1 .LinesAtRoot = -1 .Columns.Add "C1" .Columns.Add "C2" With .Items h = .AddItem("Cell 1") .CellCaption(h,1) = "Cell 2" .CellCaption(.InsertItem(h,0,"Cell 3"),1) = "Cell 4" .CellCaption(.InsertItem(h,0,"Cell 5"),1) = "Cell 6" .ExpandItem(h) = True End With End With VB6 With ComboBox1 .LinesAtRoot = exLinesAtRoot .Columns.Add "C1" .Columns.Add "C2" With .Items h = .AddItem("Cell 1") .CellCaption(h,1) = "Cell 2" .CellCaption(.InsertItem(h,0,"Cell 3"),1) = "Cell 4" .CellCaption(.InsertItem(h,0,"Cell 5"),1) = "Cell 6" .ExpandItem(h) = True End With End With VB.NET Dim h With Excombobox1 .LinesAtRoot = exontrol.EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot .Columns.Add("C1") .Columns.Add("C2") With .Items h = .AddItem("Cell 1") .set_CellCaption(h,1,"Cell 2") .set_CellCaption(.InsertItem(h,0,"Cell 3"),1,"Cell 4") .set_CellCaption(.InsertItem(h,0,"Cell 5"),1,"Cell 6") .set_ExpandItem(h,True) End With End With VB.NET for /COM Dim h With AxComboBox1 .LinesAtRoot = EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot .Columns.Add("C1") .Columns.Add("C2") With .Items h = .AddItem("Cell 1") .CellCaption(h,1) = "Cell 2" .CellCaption(.InsertItem(h,0,"Cell 3"),1) = "Cell 4" .CellCaption(.InsertItem(h,0,"Cell 5"),1) = "Cell 6" .ExpandItem(h) = True End With End With C++ /* Copy and paste the following directives to your header file as it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library' #import <ExComboBox.dll> using namespace EXCOMBOBOXLib; */ EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown(); spComboBox1->PutLinesAtRoot(EXCOMBOBOXLib::exLinesAtRoot); spComboBox1->GetColumns()->Add(L"C1"); spComboBox1->GetColumns()->Add(L"C2"); EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems(); long h = var_Items->AddItem("Cell 1"); var_Items->PutCellCaption(h,long(1),"Cell 2"); var_Items->PutCellCaption(var_Items->InsertItem(h,long(0),"Cell 3"),long(1),"Cell 4"); var_Items->PutCellCaption(var_Items->InsertItem(h,long(0),"Cell 5"),long(1),"Cell 6"); var_Items->PutExpandItem(h,VARIANT_TRUE); C++ Builder ComboBox1->LinesAtRoot = Excomboboxlib_tlb::LinesAtRootEnum::exLinesAtRoot; ComboBox1->Columns->Add(L"C1"); ComboBox1->Columns->Add(L"C2"); Excomboboxlib_tlb::IItemsPtr var_Items = ComboBox1->Items; long h = var_Items->AddItem(TVariant("Cell 1")); var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("Cell 2")); var_Items->set_CellCaption(TVariant(var_Items->InsertItem(h,TVariant(0),TVariant("Cell 3"))),TVariant(1),TVariant("Cell 4")); var_Items->set_CellCaption(TVariant(var_Items->InsertItem(h,TVariant(0),TVariant("Cell 5"))),TVariant(1),TVariant("Cell 6")); var_Items->set_ExpandItem(h,true); C# excombobox1.LinesAtRoot = exontrol.EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot; excombobox1.Columns.Add("C1"); excombobox1.Columns.Add("C2"); exontrol.EXCOMBOBOXLib.Items var_Items = excombobox1.Items; int h = var_Items.AddItem("Cell 1"); var_Items.set_CellCaption(h,1,"Cell 2"); var_Items.set_CellCaption(var_Items.InsertItem(h,0,"Cell 3"),1,"Cell 4"); var_Items.set_CellCaption(var_Items.InsertItem(h,0,"Cell 5"),1,"Cell 6"); var_Items.set_ExpandItem(h,true); JavaScript <OBJECT classid="clsid:CF170E7A-4391-44BD-8D93-29F8D2801EF7" id="ComboBox1"></OBJECT> <SCRIPT LANGUAGE="JScript"> ComboBox1.LinesAtRoot = -1; ComboBox1.Columns.Add("C1"); ComboBox1.Columns.Add("C2"); var var_Items = ComboBox1.Items; var h = var_Items.AddItem("Cell 1"); var_Items.CellCaption(h,1) = "Cell 2"; var_Items.CellCaption(var_Items.InsertItem(h,0,"Cell 3"),1) = "Cell 4"; var_Items.CellCaption(var_Items.InsertItem(h,0,"Cell 5"),1) = "Cell 6"; var_Items.ExpandItem(h) = true; </SCRIPT> C# for /COM axComboBox1.LinesAtRoot = EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot; axComboBox1.Columns.Add("C1"); axComboBox1.Columns.Add("C2"); EXCOMBOBOXLib.Items var_Items = axComboBox1.Items; int h = var_Items.AddItem("Cell 1"); var_Items.set_CellCaption(h,1,"Cell 2"); var_Items.set_CellCaption(var_Items.InsertItem(h,0,"Cell 3"),1,"Cell 4"); var_Items.set_CellCaption(var_Items.InsertItem(h,0,"Cell 5"),1,"Cell 6"); var_Items.set_ExpandItem(h,true); X++ (Dynamics Ax 2009) public void init() { COM com_Items; anytype var_Items; int h; ; super(); excombobox1.LinesAtRoot(-1/*exLinesAtRoot*/); excombobox1.Columns().Add("C1"); excombobox1.Columns().Add("C2"); var_Items = excombobox1.Items(); com_Items = var_Items; h = com_Items.AddItem("Cell 1"); com_Items.CellCaption(h,COMVariant::createFromInt(1),"Cell 2"); com_Items.CellCaption(com_Items.InsertItem(h,COMVariant::createFromInt(0),"Cell 3"),COMVariant::createFromInt(1),"Cell 4"); com_Items.CellCaption(com_Items.InsertItem(h,COMVariant::createFromInt(0),"Cell 5"),COMVariant::createFromInt(1),"Cell 6"); com_Items.ExpandItem(h,true); } Delphi 8 (.NET only) with AxComboBox1 do begin LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot; Columns.Add('C1'); Columns.Add('C2'); with Items do begin h := AddItem('Cell 1'); CellCaption[TObject(h),TObject(1)] := 'Cell 2'; CellCaption[TObject(InsertItem(h,TObject(0),'Cell 3')),TObject(1)] := 'Cell 4'; CellCaption[TObject(InsertItem(h,TObject(0),'Cell 5')),TObject(1)] := 'Cell 6'; ExpandItem[h] := True; end; end Delphi (standard) with ComboBox1 do begin LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot; Columns.Add('C1'); Columns.Add('C2'); with Items do begin h := AddItem('Cell 1'); CellCaption[OleVariant(h),OleVariant(1)] := 'Cell 2'; CellCaption[OleVariant(InsertItem(h,OleVariant(0),'Cell 3')),OleVariant(1)] := 'Cell 4'; CellCaption[OleVariant(InsertItem(h,OleVariant(0),'Cell 5')),OleVariant(1)] := 'Cell 6'; ExpandItem[h] := True; end; end VFP with thisform.ComboBox1 .LinesAtRoot = -1 .Columns.Add("C1") .Columns.Add("C2") with .Items h = .AddItem("Cell 1") .CellCaption(h,1) = "Cell 2" .CellCaption(.InsertItem(h,0,"Cell 3"),1) = "Cell 4" .CellCaption(.InsertItem(h,0,"Cell 5"),1) = "Cell 6" .ExpandItem(h) = .T. endwith endwith dBASE Plus local h,oComboBox,var_Items oComboBox = form.Activex1.nativeObject oComboBox.LinesAtRoot = -1 oComboBox.Columns.Add("C1") oComboBox.Columns.Add("C2") var_Items = oComboBox.Items h = var_Items.AddItem("Cell 1") // var_Items.CellCaption(h,1) = "Cell 2" with (oComboBox) TemplateDef = [Dim var_Items,h] TemplateDef = var_Items TemplateDef = h Template = [var_Items.CellCaption(h,1) = "Cell 2"] endwith // var_Items.CellCaption(var_Items.InsertItem(h,0,"Cell 3"),1) = "Cell 4" with (oComboBox) TemplateDef = [Dim var_Items] TemplateDef = var_Items Template = [var_Items.CellCaption(var_Items.InsertItem(h,0,"Cell 3"),1) = "Cell 4"] endwith // var_Items.CellCaption(var_Items.InsertItem(h,0,"Cell 5"),1) = "Cell 6" with (oComboBox) TemplateDef = [Dim var_Items] TemplateDef = var_Items Template = [var_Items.CellCaption(var_Items.InsertItem(h,0,"Cell 5"),1) = "Cell 6"] endwith // var_Items.ExpandItem(h) = true with (oComboBox) TemplateDef = [Dim var_Items,h] TemplateDef = var_Items TemplateDef = h Template = [var_Items.ExpandItem(h) = true] endwith XBasic (Alpha Five) Dim h as N Dim oComboBox as P Dim var_Items as P oComboBox = topparent:CONTROL_ACTIVEX1.activex oComboBox.LinesAtRoot = -1 oComboBox.Columns.Add("C1") oComboBox.Columns.Add("C2") var_Items = oComboBox.Items h = var_Items.AddItem("Cell 1") ' var_Items.CellCaption(h,1) = "Cell 2" oComboBox.TemplateDef = "Dim var_Items,h" oComboBox.TemplateDef = var_Items oComboBox.TemplateDef = h oComboBox.Template = "var_Items.CellCaption(h,1) = \"Cell 2\"" ' var_Items.CellCaption(var_Items.InsertItem(h,0,"Cell 3"),1) = "Cell 4" oComboBox.TemplateDef = "Dim var_Items" oComboBox.TemplateDef = var_Items oComboBox.Template = "var_Items.CellCaption(var_Items.InsertItem(h,0,\"Cell 3\"),1) = \"Cell 4\"" ' var_Items.CellCaption(var_Items.InsertItem(h,0,"Cell 5"),1) = "Cell 6" oComboBox.TemplateDef = "Dim var_Items" oComboBox.TemplateDef = var_Items oComboBox.Template = "var_Items.CellCaption(var_Items.InsertItem(h,0,\"Cell 5\"),1) = \"Cell 6\"" ' var_Items.ExpandItem(h) = .t. oComboBox.TemplateDef = "Dim var_Items,h" oComboBox.TemplateDef = var_Items oComboBox.TemplateDef = h oComboBox.Template = "var_Items.ExpandItem(h) = True" Visual Objects local var_Items as IItems local h as USUAL oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot oDCOCX_Exontrol1:Columns:Add("C1") oDCOCX_Exontrol1:Columns:Add("C2") var_Items := oDCOCX_Exontrol1:Items h := var_Items:AddItem("Cell 1") var_Items:[CellCaption,h,1] := "Cell 2" var_Items:[CellCaption,var_Items:InsertItem(h,0,"Cell 3"),1] := "Cell 4" var_Items:[CellCaption,var_Items:InsertItem(h,0,"Cell 5"),1] := "Cell 6" var_Items:[ExpandItem,h] := true PowerBuilder OleObject oComboBox,var_Items any h oComboBox = ole_1.Object oComboBox.LinesAtRoot = -1 oComboBox.Columns.Add("C1") oComboBox.Columns.Add("C2") var_Items = oComboBox.Items h = var_Items.AddItem("Cell 1") var_Items.CellCaption(h,1,"Cell 2") var_Items.CellCaption(var_Items.InsertItem(h,0,"Cell 3"),1,"Cell 4") var_Items.CellCaption(var_Items.InsertItem(h,0,"Cell 5"),1,"Cell 6") var_Items.ExpandItem(h,true) Visual DataFlex Procedure OnCreate Forward Send OnCreate Set ComLinesAtRoot to OLEexLinesAtRoot Variant voColumns Get ComColumns to voColumns Handle hoColumns Get Create (RefClass(cComColumns)) to hoColumns Set pvComObject of hoColumns to voColumns Get ComAdd of hoColumns "C1" to Nothing Send Destroy to hoColumns Variant voColumns1 Get ComColumns to voColumns1 Handle hoColumns1 Get Create (RefClass(cComColumns)) to hoColumns1 Set pvComObject of hoColumns1 to voColumns1 Get ComAdd of hoColumns1 "C2" to Nothing Send Destroy to hoColumns1 Variant voItems Get ComItems to voItems Handle hoItems Get Create (RefClass(cComItems)) to hoItems Set pvComObject of hoItems to voItems Variant h Get ComAddItem of hoItems "Cell 1" to h Set ComCellCaption of hoItems h 1 to "Cell 2" Set ComCellCaption of hoItems (ComInsertItem(hoItems,h,0,"Cell 3")) 1 to "Cell 4" Set ComCellCaption of hoItems (ComInsertItem(hoItems,h,0,"Cell 5")) 1 to "Cell 6" Set ComExpandItem of hoItems h to True Send Destroy to hoItems End_Procedure XBase++ #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oComboBox LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oComboBox := XbpActiveXControl():new( oForm:drawingArea ) oComboBox:CLSID := "Exontrol.ComboBox.1" /*{CF170E7A-4391-44BD-8D93-29F8D2801EF7}*/ oComboBox:create(,, {10,60},{610,370} ) oComboBox:LinesAtRoot := -1/*exLinesAtRoot*/ oComboBox:Columns():Add("C1") oComboBox:Columns():Add("C2") oItems := oComboBox:Items() h := oItems:AddItem("Cell 1") oItems:SetProperty("CellCaption",h,1,"Cell 2") oItems:SetProperty("CellCaption",oItems:InsertItem(h,0,"Cell 3"),1,"Cell 4") oItems:SetProperty("CellCaption",oItems:InsertItem(h,0,"Cell 5"),1,"Cell 6") oItems:SetProperty("ExpandItem",h,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |