*!* This is a running example of the two ways to add items to multicolumn combos WITH benchmarks. ox = CreateObject( 'multicolumncombo' ) ox.show() READ EVENTS CLEAR EVENTS ************************************************** *-- Class: multicolumncombo (c:\development\misc\examples.vcx) *-- ParentClass: form *-- BaseClass: form *-- Time Stamp: 12/06/99 08:57:01 AM * DEFINE CLASS multicolumncombo AS form DoCreate = .T. Caption = "Form1" elapsed1 = 0 elapsed2 = 0 Name = "multicolumncombo" ADD OBJECT combo1 AS combobox WITH ; Height = 24, ; Left = 50, ; Top = 22, ; Width = 100, ; Name = "Combo1" ADD OBJECT combo2 AS combobox WITH ; Height = 24, ; Left = 50, ; Top = 79, ; Width = 100, ; Name = "Combo2" ADD OBJECT text1 AS textbox WITH ; Value = "ln1", ; ControlSource = "thisform.elapsed1", ; Height = 23, ; Left = 165, ; Top = 22, ; Width = 100, ; Name = "Text1" ADD OBJECT text2 AS textbox WITH ; Value = "ln2", ; ControlSource = "thisform.elapsed2", ; Height = 23, ; Left = 165, ; Top = 79, ; Width = 100, ; Name = "Text2" ADD OBJECT label1 AS label WITH ; BackStyle = 0, ; Caption = "Using AddItem()", ; Height = 17, ; Left = 50, ; Top = 7, ; Width = 91, ; Name = "Label1" ADD OBJECT label2 AS label WITH ; BackStyle = 0, ; Caption = "Using AddListItem", ; Height = 17, ; Left = 50, ; Top = 63, ; Width = 103, ; Name = "Label2" ADD OBJECT label3 AS label WITH ; BackStyle = 0, ; Caption = "Elapsed Time", ; Height = 17, ; Left = 165, ; Top = 7, ; Width = 79, ; Name = "Label3" ADD OBJECT label4 AS label WITH ; BackStyle = 0, ; Caption = "Elapsed Time", ; Height = 17, ; Left = 165, ; Top = 63, ; Width = 79, ; Name = "Label4" PROCEDURE combo1.Init PUBLIC ln1 LOCAL lni ln1 = SECONDS() WITH this .ColumnCount = 2 .ColumnWidths = '100,100' FOR lni = 1 TO 1000 .AddItem( 'Color' ) .List( .ListCount, 2) = 'Red' .AddItem( 'Style' ) .List( .ListCount, 2) = 'Dress' .AddItem( 'Size' ) .List( .ListCount, 2) = 'Medium' NEXT lni ENDWITH ln1 = SECONDS() - ln1 RETURN .T. ENDPROC PROCEDURE combo2.Init PUBLIC ln2 LOCAL lni ln2 = SECONDS() WITH this .ColumnCount = 2 .ColumnWidths = '100,100' FOR lni = 1 TO 1000 .AddListItem( 'Color', .NewItemID + 1, 1 ) .AddListItem( 'Red', .NewItemID , 2 ) .AddListItem( 'Style', .NewItemID + 1, 1 ) .AddListItem( 'Dress', .NewItemID , 2 ) .AddListItem( 'Size', .NewItemID + 1, 1 ) .AddListItem( 'Medium', .NewItemID , 2 ) NEXT lni ENDWITH ln2 = SECONDS() - ln2 RETURN .T. ENDPROC PROCEDURE text1.Init this.value = ln1 this.refresh() ENDPROC PROCEDURE text2.Init this.value = ln2 this.refresh() ENDPROC ENDDEFINE * *-- EndDefine: multicolumncombo **************************************************