584
How can I enable the clear-button (visible only if required and focused)
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Style := DropDownList
oDCOCX_Exontrol1:HeaderVisible := false
oDCOCX_Exontrol1:IntegralHeight := true
oDCOCX_Exontrol1:ShowClearButton := 3
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Zero")
	var_Items:AddItem("One")
	var_Items:AddItem("Two")
oDCOCX_Exontrol1:[Select,0] := "Zero"
oDCOCX_Exontrol1:EndUpdate()

583
How can I enable the clear-button (visible only if focused)
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Style := DropDownList
oDCOCX_Exontrol1:HeaderVisible := false
oDCOCX_Exontrol1:IntegralHeight := true
oDCOCX_Exontrol1:ShowClearButton := 2
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Zero")
	var_Items:AddItem("One")
	var_Items:AddItem("Two")
oDCOCX_Exontrol1:[Select,0] := "Zero"
oDCOCX_Exontrol1:EndUpdate()

582
Change the clear-button appearance

local var_Appearance as IAppearance
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(1,"XP:Window 19 1")
	var_Appearance:Add(2,"XP:Window 19 3")
oDCOCX_Exontrol1:[Background,exClearButtonUp] := 0x1000000
oDCOCX_Exontrol1:[Background,exClearButtonDown] := 0x2000000
oDCOCX_Exontrol1:Style := DropDownList
oDCOCX_Exontrol1:HeaderVisible := false
oDCOCX_Exontrol1:IntegralHeight := true
oDCOCX_Exontrol1:ShowClearButton := 1
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Zero")
	var_Items:AddItem("One")
	var_Items:AddItem("Two")
oDCOCX_Exontrol1:[Select,0] := "Zero"
oDCOCX_Exontrol1:EndUpdate()

581
How can I enable the clear-button (always visible)

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Style := DropDownList
oDCOCX_Exontrol1:HeaderVisible := false
oDCOCX_Exontrol1:IntegralHeight := true
oDCOCX_Exontrol1:ShowClearButton := -1
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Zero")
	var_Items:AddItem("One")
	var_Items:AddItem("Two")
oDCOCX_Exontrol1:[Select,0] := "Zero"
oDCOCX_Exontrol1:EndUpdate()

580
How can I enable the clear-button (visible only if required)

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Style := DropDownList
oDCOCX_Exontrol1:HeaderVisible := false
oDCOCX_Exontrol1:IntegralHeight := true
oDCOCX_Exontrol1:ShowClearButton := 1
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Zero")
	var_Items:AddItem("One")
	var_Items:AddItem("Two")
oDCOCX_Exontrol1:[Select,0] := "Zero"
oDCOCX_Exontrol1:EndUpdate()

579
Is it possible to Click or Double Click on any area of the combo to force the dropdown list to open
METHOD OCX_Exontrol1Click() CLASS MainDialog
	// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[DropDown,nil]) ))
	oDCOCX_Exontrol1:[DropDown,nil] := true
RETURN NIL

local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:Style := DropDownList
oDCOCX_Exontrol1:IntegralHeight := true
oDCOCX_Exontrol1:Columns:Add("P1")
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
	var_Items:[SelectItem,h] := true
oDCOCX_Exontrol1:EndUpdate()

578
How do I assign a database to your control, using ADO, ADOR or ADODB objects (MDB,JET)

local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADOR.Recordset"}
	rs:Open("Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\SAMPLE.MDB",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:EndUpdate()

577
Re-order the cell's caption, icons and images/pictures

local var_Column,var_Column1 as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:IntegralHeight := true
oDCOCX_Exontrol1:Images("gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDcD/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("ToLeft")}
	var_Column:[Def,exCellHasCheckBox] := true
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("ToRight")}
	var_Column1:[Def,exCellHasCheckBox] := true
	var_Column1:[Def,exCellDrawPartsOrder] := "caption,picture,icons,icon,check"
oDCOCX_Exontrol1:DefaultItemHeight := 32
oDCOCX_Exontrol1:DrawGridLines := exVLines
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Caption")
	var_Items:[CellImage,h,0] := 2
	var_Items:[CellImages,h,0] := "1,2"
	var_Items:[CellPicture,h,0] := oDCOCX_Exontrol1:ExecuteTemplate("loadpicture(`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`)")
	var_Items:[CellCaption,h,1] := var_Items:[CellCaption,h,0]
	var_Items:[CellHAlignment,h,1] := RightAlignment
	var_Items:[CellImage,h,1] := var_Items:[CellImage,h,0]
	var_Items:[CellImages,h,1] := "2,1"
	var_Items:[CellPicture,h,1] := var_Items:[CellPicture,h,0]
	h := var_Items:AddItem("<b>HTML</b> <off 4>Caption")
	var_Items:[CellCaptionFormat,h,0] := exHTML
	var_Items:[CellImage,h,0] := 2
	var_Items:[CellImages,h,0] := "1,2"
	var_Items:[CellPicture,h,0] := oDCOCX_Exontrol1:ExecuteTemplate("loadpicture(`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`)")
	var_Items:[CellCaption,h,1] := var_Items:[CellCaption,h,0]
	var_Items:[CellCaptionFormat,h,1] := exHTML
	var_Items:[CellHAlignment,h,1] := RightAlignment
	var_Items:[CellImage,h,1] := var_Items:[CellImage,h,0]
	var_Items:[CellImages,h,1] := "2,1"
	var_Items:[CellPicture,h,1] := var_Items:[CellPicture,h,0]
oDCOCX_Exontrol1:EndUpdate()

576
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)

METHOD OCX_Exontrol1AddColumn(Column) CLASS MainDialog
	// AddColumn event - Fired after a new column has been added.
	// Column.Def(48) = 2
	// Column.Def(49) = 2

RETURN NIL

local var_Appearance as IAppearance
local var_Column,var_Column1,var_Column2,var_Column3 as IColumn
local var_Items as IItems
local h,hR as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ImageSize := 32
oDCOCX_Exontrol1:LabelHeight := 36
oDCOCX_Exontrol1:DefaultItemHeight := 36
oDCOCX_Exontrol1:HeaderHeight := oDCOCX_Exontrol1:DefaultItemHeight
oDCOCX_Exontrol1:SortBarHeight := oDCOCX_Exontrol1:DefaultItemHeight
oDCOCX_Exontrol1:Font:Size := 16
oDCOCX_Exontrol1:FilterBarFont:Size := oDCOCX_Exontrol1:Font:Size
oDCOCX_Exontrol1:ToolTipFont:Size := oDCOCX_Exontrol1:Font:Size
oDCOCX_Exontrol1:Indent := 26
oDCOCX_Exontrol1:Images("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")
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(1,"gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYFoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==")
	var_Appearance:Add(2,"gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnScg1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpAoPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaDRDFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lGNAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBgk0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuXpMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2CyA4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8RpBzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8TI7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeHGFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuhoiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMsCwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4gaBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtYQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0MgRBCCQAgQEA==")
	var_Appearance:Add(3,"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")
	var_Appearance:Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oDCOCX_Exontrol1:HeaderBackColor := 0x4c6c6c6
oDCOCX_Exontrol1:SelBackColor := 0x4000000
oDCOCX_Exontrol1:SelForeColor := RGB(0,0,1)
oDCOCX_Exontrol1:[CheckImage,Unchecked] := 16777216
oDCOCX_Exontrol1:[CheckImage,Checked] := 33554432
oDCOCX_Exontrol1:[CheckImage,PartialChecked] := 50331648
oDCOCX_Exontrol1:[Background,exSelBackColorFilter] := oDCOCX_Exontrol1:SelBackColor
oDCOCX_Exontrol1:[Background,exSelForeColorFilter] := oDCOCX_Exontrol1:SelForeColor
oDCOCX_Exontrol1:[Background,exBackColorFilter] := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:[Background,exForeColorFilter] := oDCOCX_Exontrol1:ForeColor
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x4000000
oDCOCX_Exontrol1:[Background,exHeaderFilterBarActive] := 0x4010101
oDCOCX_Exontrol1:[Background,exFooterFilterBarButton] := 0x40000ff
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:BackColorSortBar := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:BackColorLevelHeader := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:FilterBarDropDownHeight := 1
oDCOCX_Exontrol1:IntegralHeight := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:PartialCheck := true
	var_Column:Width := 128
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowCheckBox
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column1:FormatColumn := "1 pos ``"
	var_Column1:AllowSort := false
	var_Column1:Width := 48
	var_Column1:AllowSizing := false
	var_Column1:Alignment := CenterAlignment
	var_Column1:HeaderAlignment := CenterAlignment
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Image")}
	var_Column2:DisplayFilterButton := true
	var_Column2:FilterList := exShowExclude | exShowCheckBox | exSortItemsAsc
	var_Column2:FilterType := exImage
	var_Column2:Width := 128
	var_Column2:HeaderImage := 1
var_Column3 := IColumn{oDCOCX_Exontrol1:Columns:Add("Images")}
	var_Column3:[Def,exCellHasCheckBox] := true
	var_Column3:Width := 196
	var_Column3:HTMLCaption := "<img>1</img><img>2</img><img>3</img> Images"
oDCOCX_Exontrol1:Columns:[Item,"Pos"]:Position := 3
var_Items := oDCOCX_Exontrol1:Items
	hR := var_Items:AddItem("Root")
	var_Items:[ItemDivider,hR] := 0
	var_Items:[ItemDividerLine,hR] := EmptyLine
	h := var_Items:InsertItem(hR,nil,"Child A")
	var_Items:[CellImage,h,2] := 1
	var_Items:[CellImages,h,3] := "1,2,3"
	var_Items:[CellCaption,h,3] := "123"
	h := var_Items:InsertItem(hR,nil,"Child B")
	var_Items:[CellState,h,0] := 1
	var_Items:[CellImage,h,2] := 3
	var_Items:[CellImages,h,3] := "2,3,1"
	var_Items:[CellCaption,h,3] := "231"
	var_Items:[SelectItem,h] := true
	h := var_Items:InsertItem(hR,nil,"Child C")
	var_Items:[CellImage,h,2] := 2
	var_Items:[CellState,h,3] := 1
	var_Items:[CellCaption,h,3] := "312"
	var_Items:[CellImages,h,3] := "3,1,2"
	var_Items:[ExpandItem,hR] := true
oDCOCX_Exontrol1:EndUpdate()

575
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

METHOD OCX_Exontrol1AddColumn(Column) CLASS MainDialog
	// AddColumn event - Fired after a new column has been added.
	// Column.Def(48) = 2
	// Column.Def(49) = 2

RETURN NIL

local var_Appearance as IAppearance
local var_Column,var_Column1,var_Column2,var_Column3 as IColumn
local var_Items as IItems
local h,hR as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ImageSize := 16
oDCOCX_Exontrol1:Images("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==")
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oDCOCX_Exontrol1:HeaderBackColor := 0x4c6c6c6
oDCOCX_Exontrol1:SelBackColor := 0x4000000
oDCOCX_Exontrol1:SelForeColor := RGB(0,0,1)
oDCOCX_Exontrol1:[Background,exSelBackColorFilter] := oDCOCX_Exontrol1:SelBackColor
oDCOCX_Exontrol1:[Background,exSelForeColorFilter] := oDCOCX_Exontrol1:SelForeColor
oDCOCX_Exontrol1:[Background,exBackColorFilter] := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:[Background,exForeColorFilter] := oDCOCX_Exontrol1:ForeColor
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x4000000
oDCOCX_Exontrol1:[Background,exHeaderFilterBarActive] := 0x4010101
oDCOCX_Exontrol1:[Background,exFooterFilterBarButton] := 0x40000ff
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:BackColorSortBar := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:BackColorLevelHeader := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:FilterBarDropDownHeight := 1
oDCOCX_Exontrol1:IntegralHeight := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:PartialCheck := true
	var_Column:Width := 128
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowCheckBox
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column1:FormatColumn := "1 pos ``"
	var_Column1:AllowSort := false
	var_Column1:Width := 48
	var_Column1:AllowSizing := false
	var_Column1:Alignment := CenterAlignment
	var_Column1:HeaderAlignment := CenterAlignment
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Image")}
	var_Column2:DisplayFilterButton := true
	var_Column2:FilterList := exShowExclude | exShowCheckBox | exSortItemsAsc
	var_Column2:FilterType := exImage
	var_Column2:Width := 128
	var_Column2:HeaderImage := 1
var_Column3 := IColumn{oDCOCX_Exontrol1:Columns:Add("Images")}
	var_Column3:[Def,exCellHasCheckBox] := true
	var_Column3:Width := 196
	var_Column3:HTMLCaption := "<img>1</img><img>2</img><img>3</img> Images"
oDCOCX_Exontrol1:Columns:[Item,"Pos"]:Position := 3
var_Items := oDCOCX_Exontrol1:Items
	hR := var_Items:AddItem("Root")
	var_Items:[ItemDivider,hR] := 0
	var_Items:[ItemDividerLine,hR] := EmptyLine
	h := var_Items:InsertItem(hR,nil,"Child A")
	var_Items:[CellImage,h,2] := 1
	var_Items:[CellImages,h,3] := "1,2,3"
	var_Items:[CellCaption,h,3] := "123"
	h := var_Items:InsertItem(hR,nil,"Child B")
	var_Items:[CellState,h,0] := 1
	var_Items:[CellImage,h,2] := 3
	var_Items:[CellImages,h,3] := "2,3,1"
	var_Items:[CellCaption,h,3] := "231"
	var_Items:[SelectItem,h] := true
	h := var_Items:InsertItem(hR,nil,"Child C")
	var_Items:[CellImage,h,2] := 2
	var_Items:[CellState,h,3] := 1
	var_Items:[CellCaption,h,3] := "312"
	var_Items:[CellImages,h,3] := "3,1,2"
	var_Items:[ExpandItem,hR] := true
oDCOCX_Exontrol1:EndUpdate()

574
The user clicks the drop-down filter, select a value and the control's list filters for the selected item(s). Is there a way for when the user then goes to the next column to add another filter and the drop down arrow is clicked for the list of values they can filter by to be limited to what is being displayed in the list due to the first filter they set

METHOD OCX_Exontrol1AddColumn(Column) CLASS MainDialog
	// AddColumn event - Fired after a new column has been added.

RETURN NIL

local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADOR.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:Columns:[Item,"ShipVia"]:Position := 2
oDCOCX_Exontrol1:EndUpdate()

573
Can I limit the number of characters the user can type into, similar with text-box's MaxLength property

IColumn{oDCOCX_Exontrol1:Columns:Add("Max 2 chars")}:EditMaxLength := 2
oDCOCX_Exontrol1:AutoSearch := false
oDCOCX_Exontrol1:AutoComplete := false

572
Is it possible to change the visual appearance of the drop down button (method 3, theme)


oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:VisualAppearance:Add(1,"XP: COMBOBOX 1 1")
oDCOCX_Exontrol1:VisualAppearance:Add(2,"XP: COMBOBOX 1 3")
oDCOCX_Exontrol1:[Background,exDropDownButtonUp] := 0x1000000
oDCOCX_Exontrol1:[Background,exDropDownButtonDown] := 0x2000000
oDCOCX_Exontrol1:Columns:Add("Default")
oDCOCX_Exontrol1:EndUpdate()

571
Is it possible to change the visual appearance of the drop down button (method 2, ebn)


oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABKYCg6AADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjGKsIhsGIbJAGQBJCjWGodQLOEgzNC0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwTJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3aioOpLZrqOZZYzYFoRFYNTTJMTLcZifBsEoib4qSxMVaDPQWNT3CTIMQve4IEyGQ6jDDVOjYfqmDzTPAALLFUaNYzoOKyABMHATBIXAY7BIIOQ1HgHNBwJAAczzcTSBIABECQoBoTBnEOKZIkuJYFEMCBElgXBoG0CQUHKIB8huYBiDUEYtAkA4Ol+D5PmWdJ7nyHh/iKCQ8iYWwWkWY5aAIfgfFgFgEgGXxoCSbR+g8N5wFMCABnCDgQAiX54AYA4CiCCAaBgfhfjedgTBgBZhggVQVEWCBOBWAIPGgZgqgcIJYHoEQYEWcYMniDJPFOUJ1giYhYEYJ8siidgMgOIQ4kIMoMmASJWDeCQiGgAgogYY54jgI4QiMM5iCsOxkGiYhJgWIoYjIQILmMGRGAQNpNjMcJjhiZBYloVoOiSKAKCAGIkBkdhEgKJgDHAMgMEMcJkDgD4mDODhlhGY4QgwbgbEcAxElANBnnGQhehwJgZkwN4EmEOZaHiGQgikGBpBoRozGSWS5jmRoKgSSJiDiEAgEgEgOg2HZnhkTgZiaJxIEyDwjkkF5Qn6K5qAqCgRiOKhYG4PYqCiOBGiuKxrGqPJ+iwag6D4eotiuCoqiyKYfCqepAiyahKECbYxGuKwejaFJsiqBpBh4YRbBqPIPGyCAWlWLICDoTBrDsLhCgiIgpC2W4mkmK5JmIdIfDwbwDi2bxAlAECAg=")
oDCOCX_Exontrol1:[Background,exDropDownButtonUp] := 0x1f0f0f0
oDCOCX_Exontrol1:[Background,exDropDownButtonDown] := 0x1666666
oDCOCX_Exontrol1:Columns:Add("Default")
oDCOCX_Exontrol1:EndUpdate()

570
Is it possible to change the visual appearance of the drop down button (method 1, no visual theme)


oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:UseVisualTheme := exNoVisualTheme
oDCOCX_Exontrol1:Columns:Add("Default")
oDCOCX_Exontrol1:EndUpdate()

569
Is it possible to highlight the column's header once a filter is applied

local var_Appearance as IAppearance
local var_Column as IColumn
local var_Columns as IColumns
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YNYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgbhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWBMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=")
	var_Appearance:Add(1,"CP:2 -8 -4 2 4")
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x1fefefe
oDCOCX_Exontrol1:[Background,exHeaderFilterBarActive] := 0x1010101
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:HeaderHeight := 28
oDCOCX_Exontrol1:DrawGridLines := exRowLines
oDCOCX_Exontrol1:HeaderVisible := true
var_Columns := oDCOCX_Exontrol1:Columns
	IColumn{var_Columns:Add("C1")}:DisplayFilterButton := true
	var_Column := IColumn{var_Columns:Add("C2")}
		var_Column:DisplayFilterButton := true
		var_Column:Filter := "Item 2"
		var_Column:FilterType := exFilter
	IColumn{var_Columns:Add("C3")}:DisplayFilterButton := true
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Item 1")
	var_Items:[CellCaption,h,1] := "Item 2"
	var_Items:[CellCaption,h,2] := "Item 3"
	h := var_Items:AddItem("Item 4")
	var_Items:[CellCaption,h,1] := "Item 5"
	var_Items:[CellCaption,h,2] := "Item 6"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

568
How do I change the drop down filter icon/button (black)

local var_Appearance as IAppearance
local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA")
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x1000000
oDCOCX_Exontrol1:[Background,exBackColorFilter] := RGB(0,0,1)
oDCOCX_Exontrol1:[Background,exForeColorFilter] := RGB(255,255,255)
oDCOCX_Exontrol1:[Description,exFilterBarExclude] := "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"
oDCOCX_Exontrol1:HeaderAppearance := None2
oDCOCX_Exontrol1:HeaderBackColor := RGB(0,0,0)
oDCOCX_Exontrol1:HeaderForeColor := RGB(255,255,255)
oDCOCX_Exontrol1:HeaderVisible := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Filter")}
	var_Column:FilterList := exShowExclude | exShowCheckBox
	var_Column:DisplayFilterButton := true
	var_Column:AllowSort := false
	var_Column:AllowDragging := false
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("One")
	var_Items:AddItem("Two")
	var_Items:AddItem("Three")
oDCOCX_Exontrol1:EndUpdate()

567
Can I customize the count of selected items, shown on the right side of the control's label (multiple-selection)

local var_Columns as IColumns
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:Style := DropDownList
oDCOCX_Exontrol1:SingleSel := false
oDCOCX_Exontrol1:SingleEdit := true
oDCOCX_Exontrol1:LabelColumnIndex := 0
oDCOCX_Exontrol1:SelBackColor := RGB(51,153,255)
oDCOCX_Exontrol1:SelForeColor := RGB(255,255,255)
oDCOCX_Exontrol1:LabelText := "<bgcolor=3399FF><fgcolor=FFFFFF> %c </fgcolor></bgcolor>"
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Column")
	var_Columns:Add("Sub-Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellCaption,var_Items:AddItem("Item 1"),1] := "SubItem 1.1"
	var_Items:[CellCaption,var_Items:AddItem("Item 2"),1] := "SubItem 2.1"
	var_Items:[CellCaption,var_Items:AddItem("Item 3"),1] := "SubItem 3.1"
	var_Items:[CellCaption,var_Items:AddItem("Item 4"),1] := "SubItem 4.1"
	var_Items:[SelectItem,var_Items:[ItemByIndex,1]] := true
	var_Items:[SelectItem,var_Items:[ItemByIndex,3]] := true
oDCOCX_Exontrol1:EndUpdate()

566
Is it possible to hide the count of selected items, shown on the right side of the control's label (multiple-selection)

local var_Columns as IColumns
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:Style := DropDownList
oDCOCX_Exontrol1:SingleSel := false
oDCOCX_Exontrol1:SingleEdit := true
oDCOCX_Exontrol1:LabelColumnIndex := 0
oDCOCX_Exontrol1:SelBackColor := RGB(51,153,255)
oDCOCX_Exontrol1:SelForeColor := RGB(255,255,255)
oDCOCX_Exontrol1:LabelText := " "
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Column")
	var_Columns:Add("Sub-Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellCaption,var_Items:AddItem("Item 1"),1] := "SubItem 1.1"
	var_Items:[CellCaption,var_Items:AddItem("Item 2"),1] := "SubItem 2.1"
	var_Items:[CellCaption,var_Items:AddItem("Item 3"),1] := "SubItem 3.1"
	var_Items:[CellCaption,var_Items:AddItem("Item 4"),1] := "SubItem 4.1"
	var_Items:[SelectItem,var_Items:[ItemByIndex,1]] := true
	var_Items:[SelectItem,var_Items:[ItemByIndex,3]] := true
oDCOCX_Exontrol1:EndUpdate()

565
Does your control support multiple-selection

local var_Columns as IColumns
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:Style := DropDownList
oDCOCX_Exontrol1:SingleSel := false
oDCOCX_Exontrol1:SingleEdit := true
oDCOCX_Exontrol1:LabelColumnIndex := 0
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Column")
	var_Columns:Add("Sub-Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellCaption,var_Items:AddItem("Item 1"),1] := "SubItem 1.1"
	var_Items:[CellCaption,var_Items:AddItem("Item 2"),1] := "SubItem 2.1"
	var_Items:[CellCaption,var_Items:AddItem("Item 3"),1] := "SubItem 3.1"
	var_Items:[CellCaption,var_Items:AddItem("Item 4"),1] := "SubItem 4.1"
	var_Items:[SelectItem,var_Items:[ItemByIndex,1]] := true
	var_Items:[SelectItem,var_Items:[ItemByIndex,3]] := true
oDCOCX_Exontrol1:EndUpdate()

564
Is it possible to show the filterbar on top of the rows

local var_Column,var_Column1 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarTop
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:FilterBarHeight := oDCOCX_Exontrol1:HeaderHeight
oDCOCX_Exontrol1:HeaderAppearance := Flat
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
oDCOCX_Exontrol1:ColumnAutoResize := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Column")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterType := exPattern
	var_Column:Filter := "B*"
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Index")}
	var_Column1:FormatColumn := "1 index ``"
	var_Column1:Position := 0
	var_Column1:Width := 48
	var_Column1:AllowSizing := false
	var_Column1:SortType := SortNumeric
	var_Column1:[Def,exCellHasCheckBox] := true
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("A.1")
	var_Items:AddItem("A.2")
	var_Items:AddItem("B.1")
	var_Items:AddItem("B.2")
	var_Items:AddItem("B.3")
	var_Items:AddItem("C")
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

563
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)

local var_Column as IColumn
local var_Columns as IColumns
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Item")
	var_Column := IColumn{var_Columns:Add("Pos")}
		var_Column:Position := 0
		var_Column:Width := 32
		var_Column:AllowSizing := false
		var_Column:FormatColumn := "1 index ``"
		var_Column:AllowSort := false
		var_Column:AllowDragging := false
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:EndUpdate()

562
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header

local var_Column as IColumn
local var_Columns as IColumns
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Item")
	var_Column := IColumn{var_Columns:Add("Pos")}
		var_Column:Position := 0
		var_Column:Width := 32
		var_Column:AllowSizing := false
		var_Column:FormatColumn := "1 index ``"
		var_Column:AllowSort := false
		var_Column:AllowDragging := false
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:EndUpdate()

561
How I can programmatically select a row (method 2)

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item 1")
	var_Items:AddItem("Item 2")
	var_Items:AddItem("Item 3")
oDCOCX_Exontrol1:Value := "Item 2"
oDCOCX_Exontrol1:EndUpdate()

560
How I can programmatically select a row (with regular combobox I can set the ListIndex right up to Listcount -1)

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item 1")
	var_Items:AddItem("Item 2")
	var_Items:AddItem("Item 3")
	var_Items:[SelectItem,var_Items:[ItemByIndex,1]] := true
oDCOCX_Exontrol1:EndUpdate()

559
How do I set an extra data for each item
METHOD OCX_Exontrol1MouseMove(Button,Shift,X,Y) CLASS MainDialog
	// MouseMove event - Occurs when the user moves the mouse.
	local i as USUAL
	i := oDCOCX_Exontrol1:[ItemFromPoint,-1,-1,c,hit]
	OutputDebugString(String2Psz( AsString(i) ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:Items:[ItemData,i]) ))
RETURN NIL

local var_Items,var_Items1 as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Default")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[ItemData,var_Items:AddItem("method 1")] := "your extra data of method 1"
	var_Items:InsertItem(0,"your extra data of method 2","method 2")
var_Items1 := oDCOCX_Exontrol1:Items
	var_Items1:DefaultItem := var_Items1:AddItem("method 3")
	var_Items1:[ItemData,0] := "your extra data of method 3"
oDCOCX_Exontrol1:EndUpdate()

558
I do not like to specify the item padding for every column I add. The question is how can I do it automatically

local var_Column as IColumn
local var_Columns as IColumns
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AttachTemplate("handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}")
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesVSolid
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Item")
	var_Column := IColumn{var_Columns:Add("Pos")}
		var_Column:Position := 0
		var_Column:Width := 32
		var_Column:AllowSizing := false
		var_Column:FormatColumn := "1 index ``"
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:EndUpdate()

557
Can I sort the column by check-state

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:SortType := exSortByState
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem(nil)
	var_Items:[CellState,var_Items:AddItem(nil),0] := 1
	var_Items:[CellState,var_Items:AddItem(nil),0] := 1
	var_Items:AddItem(nil)
oDCOCX_Exontrol1:Columns:[Item,0]:SortOrder := SortAscending
oDCOCX_Exontrol1:EndUpdate()

556
Can I sort the column by image

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Image")}
	var_Column:SortType := exSortByImage
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellImage,var_Items:AddItem(nil),0] := 3
	var_Items:AddItem(nil)
	var_Items:[CellImage,var_Items:AddItem(nil),0] := 1
	var_Items:[CellImage,var_Items:AddItem(nil),0] := 2
oDCOCX_Exontrol1:Columns:[Item,0]:SortOrder := SortAscending
oDCOCX_Exontrol1:EndUpdate()

555
How can I build a "virtual" tree using your control

METHOD OCX_Exontrol1BeforeExpandItem(Item,Cancel) CLASS MainDialog
	// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
	local var_Items as IItems
	var_Items := oDCOCX_Exontrol1:Items
		var_Items:[ItemHasChildren,var_Items:InsertItem(Item,nil,"new")] := true
RETURN NIL

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:Style := DropDown
oDCOCX_Exontrol1:Columns:Add("Def")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item 1")
	var_Items:[ItemHasChildren,var_Items:AddItem("Item 2")] := true
	var_Items:AddItem("Item 3")
oDCOCX_Exontrol1:Value := "Item 2"
oDCOCX_Exontrol1:EndUpdate()

554
How can I display UNICODE characters

local var_Items as IItems
local var_StdFont as stdFont

oDCOCX_Exontrol1:BeginUpdate()
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
var_StdFont := oDCOCX_Exontrol1:Font
	var_StdFont:Name := "Arial Unicode"
	var_StdFont:Size := 22
oDCOCX_Exontrol1:HeaderVisible := false
oDCOCX_Exontrol1:DefaultItemHeight := 48
IColumn{oDCOCX_Exontrol1:Columns:Add("")}:[Def,exCellCaptionFormat] := 1
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Ӓӓ")
	var_Items:AddItem("ᦜᦝ;ᦞ")
	var_Items:AddItem("ɮɭ;ɯ")
	var_Items:AddItem("勳勴勵勶")
	var_Items:[FormatCell,var_Items:AddItem(oDCOCX_Exontrol1:Version),0] := "(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` "
oDCOCX_Exontrol1:EndUpdate()

553
How do I display the position of the item with 0-padding

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Items")}:FormatColumn := "((1 apos ``) lpad `00`) + `. `  + value"
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
	var_Items:AddItem("Item D")
oDCOCX_Exontrol1:EndUpdate()

552
Is it possible to configure different colour/icon when there is a active filter

METHOD OCX_Exontrol1FilterChange() CLASS MainDialog
	// FilterChange event - Occurs when filter was changed.
	oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := oDCOCX_Exontrol1:FormatABC("value = 0 ? 0x1000001 : 0x10000FF ",oDCOCX_Exontrol1:Columns:[Item,0]:FilterType,nil,nil)
RETURN NIL

local var_Appearance as IAppearance
local var_Column,var_Column1 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:RenderType := -16777216
	var_Appearance:Add(1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA")
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x1000001
oDCOCX_Exontrol1:[Background,exCursorHoverColumn] := -1
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderVisible := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Filter")}
	var_Column:DisplayFilterButton := true
	var_Column:AllowSort := false
	var_Column:AllowDragging := false
	var_Column:FilterList := exShowCheckBox
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
var_Column1 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column1:Filter := "Item B"
	var_Column1:FilterType := exFilter
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

551
Why can’t I type free text into a DropDown style combobox

local var_Items as IItems

oDCOCX_Exontrol1:AutoComplete := false
oDCOCX_Exontrol1:IntegralHeight := true
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item 3")
	var_Items:AddItem("Item 1")
	var_Items:AddItem("Item 2")

550
I am calling Value to change the selected value, but the selection is not visible, unless I scroll to it

local var_Items as IItems
local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADODB.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb",1,1,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:Value := 10311
var_Items := oDCOCX_Exontrol1:Items
	var_Items:EnsureVisibleItem(var_Items:FocusItem)
oDCOCX_Exontrol1:EndUpdate()

549
How can I create a new ADO recordset

local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADODB.Recordset"}
	rs:Fields:Append("A",8,0,nil,nil)
	rs:Fields:Append("B",8,0,nil,nil)
	rs:Open(nil,nil,nil,nil,0)
	rs:AddNew(nil,nil)
	rs:Fields:[Item,"A"]:Value := "Item A.1"
	rs:Fields:[Item,"B"]:Value := "Item B.1"
	rs:Update(nil,nil)
	rs:AddNew(nil,nil)
	rs:Fields:[Item,"A"]:Value := "Item A.2"
	rs:Fields:[Item,"B"]:Value := "Item B.2"
	rs:Update(nil,nil)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:Value := "Item A.1"
oDCOCX_Exontrol1:EndUpdate()

548
Do do I get the DAO version I have installed

// Generate Source for 'Microsoft DAO 2.5/3.51 Compatibility Library(dao2535.tlb)' server from Tools\Automation Server...
OutputDebugString(String2Psz( _DBEngine{"DAO.DBEngine.35"}:Version ))
// Generate Source for 'Microsoft DAO 3.6 Object Library(dao360.dll)' server from Tools\Automation Server...
OutputDebugString(String2Psz( _DBEngine{"DAO.DBEngine.36"}:Version ))
// Generate Source for 'Microsoft Office 12.0 Access database engine Object Library(ACEDAO.DLL)' server from Tools\Automation Server...
OutputDebugString(String2Psz( _DBEngine{"DAO.DBEngine.120"}:Version ))

547
How do I get a list of interfaces the object implemenets

local rs as Recordset2
local var_PrivDBEngine as _DBEngine

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft Office 12.0 Access database engine Object Library(ACEDAO.DLL)' server from Tools\Automation Server...
var_PrivDBEngine := _DBEngine{"DAO.DBEngine.120"}
	rs := Recordset2{var_PrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb",nil,nil,nil):OpenRecordset("Orders",nil,nil,nil)}
// Generate Source for 'ExPropertiesList 1.0 Control Library(ExPropertiesList.dll)' server from Tools\Automation Server...
OutputDebugString(String2Psz( IPropertiesList{"Exontrol.PropertiesList"}:[Interfaces,rs] ))
oDCOCX_Exontrol1:DataSource := Recordset2{rs}
oDCOCX_Exontrol1:Value := 10248
oDCOCX_Exontrol1:EndUpdate()

546
Do do I get the ADO version I have installed

// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
OutputDebugString(String2Psz( "ADO Version:" ))
OutputDebugString(String2Psz( _Connection{"ADODB.Connection"}:Version ))

545
DAO, ACCDB, 120

local rs as Recordset2
local var_PrivDBEngine as _DBEngine

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft Office 12.0 Access database engine Object Library(ACEDAO.DLL)' server from Tools\Automation Server...
var_PrivDBEngine := _DBEngine{"DAO.DBEngine.120"}
	rs := Recordset2{var_PrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb",nil,nil,nil):OpenRecordset("Orders",nil,nil,nil)}
oDCOCX_Exontrol1:DataSource := Recordset2{rs}
oDCOCX_Exontrol1:Value := 10248
oDCOCX_Exontrol1:EndUpdate()

544
DAO, MDB, 120

local rs as Recordset2
local var_PrivDBEngine as _DBEngine

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft Office 12.0 Access database engine Object Library(ACEDAO.DLL)' server from Tools\Automation Server...
var_PrivDBEngine := _DBEngine{"DAO.DBEngine.120"}
	rs := Recordset2{var_PrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.mdb",nil,nil,nil):OpenRecordset("Orders",nil,nil,nil)}
oDCOCX_Exontrol1:DataSource := Recordset2{rs}
oDCOCX_Exontrol1:Value := 10248
oDCOCX_Exontrol1:EndUpdate()

543
DAO, MDB

local rs as Recordset
local var_PrivDBEngine as _DBEngine

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft DAO 3.6 Object Library(dao360.dll)' server from Tools\Automation Server...
var_PrivDBEngine := _DBEngine{"DAO.DBEngine.36"}
	rs := var_PrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.mdb",nil,nil,nil):OpenRecordset("Orders",nil,nil,nil)
oDCOCX_Exontrol1:DataSource := Recordset{rs}
oDCOCX_Exontrol1:Value := 10248
oDCOCX_Exontrol1:EndUpdate()

542
ADODB, ACCDB, x64

local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADODB.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb",1,1,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:Value := 10248
oDCOCX_Exontrol1:EndUpdate()

541
ADOR, ACCDB

local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADOR.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:Value := 10248
oDCOCX_Exontrol1:EndUpdate()

540
ADODB, MDB

local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADODB.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.mdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:Value := 10248
oDCOCX_Exontrol1:EndUpdate()

539
ADOR, MDB

local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADOR.Recordset"}
	rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.mdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:Value := 10248
oDCOCX_Exontrol1:EndUpdate()

538
Type of wraps the cell's caption support (Sample 2)

local var_Column,var_Column1,var_Column2 as IColumn
local var_Columns as IColumns
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderSingleLine := false
oDCOCX_Exontrol1:HeaderHeight := 36
oDCOCX_Exontrol1:DrawGridLines := exRowLines
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:ScrollBySingleLine := true
var_Columns := oDCOCX_Exontrol1:Columns
	var_Column := IColumn{var_Columns:Add("Single-Line (exCaptionSingleLine)")}
		var_Column:Width := 96
		var_Column:[Def,exCellCaptionFormat] := 1
		var_Column:[Def,exCellSingleLine] := -1
	var_Column1 := IColumn{var_Columns:Add("Word-Wrap (exCaptionWordWrap)")}
		var_Column1:Width := 96
		var_Column1:[Def,exCellCaptionFormat] := 1
		var_Column1:[Def,exCellSingleLine] := 0
		var_Column1:FormatColumn := "%0"
	var_Column2 := IColumn{var_Columns:Add("Break-Wrap (exCaptionBreakWrap)")}
		var_Column2:Width := 96
		var_Column2:[Def,exCellCaptionFormat] := 1
		var_Column2:[Def,exCellSingleLine] := 1
		var_Column2:FormatColumn := "%0"
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
	var_Items:AddItem("This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.")
oDCOCX_Exontrol1:EndUpdate()

537
Type of wraps the cell's caption support (Sample 1)

local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderSingleLine := false
oDCOCX_Exontrol1:HeaderHeight := 36
oDCOCX_Exontrol1:DrawGridLines := exRowLines
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:ScrollBySingleLine := true
IColumn{oDCOCX_Exontrol1:Columns:Add("Default")}:Width := 128
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	h := var_Items:AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
	var_Items:[CellCaptionFormat,h,0] := exHTML
	h := var_Items:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	var_Items:[CellSingleLine,h,0] := exCaptionWordWrap
	h := var_Items:AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
	var_Items:[CellCaptionFormat,h,0] := exHTML
	var_Items:[CellSingleLine,h,0] := exCaptionWordWrap
	h := var_Items:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	var_Items:[CellSingleLine,h,0] := exCaptionBreakWrap
	h := var_Items:AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
	var_Items:[CellCaptionFormat,h,0] := exHTML
	var_Items:[CellSingleLine,h,0] := exCaptionBreakWrap
oDCOCX_Exontrol1:EndUpdate()

536
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:DrawGridLines := exRowLines
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:ScrollBySingleLine := true
IColumn{oDCOCX_Exontrol1:Columns:Add("Default")}:Width := 128
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellSingleLine,var_Items:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line."),0] := exCaptionBreakWrap
	var_Items:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
oDCOCX_Exontrol1:EndUpdate()

535
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:DrawGridLines := exRowLines
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:ScrollBySingleLine := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Default")}
	var_Column:Width := 128
	var_Column:[Def,exCellSingleLine] := 1
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	var_Items:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
oDCOCX_Exontrol1:EndUpdate()

534
Export Data in HTML format

local var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6 as IColumn
local var_Columns as IColumns
local var_ConditionalFormat,var_ConditionalFormat1 as IConditionalFormat
local var_ConditionalFormats as IConditionalFormats
local var_Items as IItems
local var_ShellBrowserWindow as IWebBrowser2
local h,sFile as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:BackColorAlternate := RGB(240,240,240)
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:[Description,exFilterBarAnd] := AsString(oDCOCX_Exontrol1:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oDCOCX_Exontrol1:[Description,exFilterBarAnd],nil,nil))
oDCOCX_Exontrol1:FilterBarCaption := "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarCompact | exFilterBarShowCloseIfRequired | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible
oDCOCX_Exontrol1:FilterBarPromptType := exFilterPromptContainsAny
var_ConditionalFormats := oDCOCX_Exontrol1:ConditionalFormats
	var_ConditionalFormats:Add("%0 like `*parent*`","parent"):BackColor := RGB(192,192,192)
	var_ConditionalFormat := var_ConditionalFormats:Add("%0 like `*child*`","child")
		var_ConditionalFormat:ForeColor := RGB(255,128,128)
		var_ConditionalFormat:ApplyTo := exFormatToColumns
	var_ConditionalFormat1 := var_ConditionalFormats:Add("%0 like `*B*`","b")
		var_ConditionalFormat1:ForeColor := RGB(0,0,255)
		var_ConditionalFormat1:Bold := true
		var_ConditionalFormat1:Italic := true
		var_ConditionalFormat1:ApplyTo := exFormatToColumns
var_Columns := oDCOCX_Exontrol1:Columns
	var_Column := IColumn{var_Columns:Add("Value")}
		var_Column:Width := 128
		var_Column:HTMLCaption := "<b>VA</b><r>sko"
	var_Column1 := IColumn{var_Columns:Add("APos")}
		var_Column1:FormatColumn := "0 apos ``"
		var_Column1:AllowSort := false
		var_Column1:[Def,exCellBackColor] := 15790320
		var_Column1:[Def,exCellForeColor] := 8421504
		var_Column1:[Def,exHeaderForeColor] := var_Column1:[Def,exCellForeColor]
		var_Column1:Position := 0
	var_Column2 := IColumn{var_Columns:Add("RPos")}
		var_Column2:FormatColumn := "0 rpos ``"
		var_Column2:AllowSort := false
		var_Column2:Position := 1
	var_Column3 := IColumn{var_Columns:Add("Index")}
		var_Column3:FormatColumn := "0 index ``"
		var_Column3:DisplayFilterButton := true
		var_Column3:FilterList := exShowCheckBox
		var_Column3:Position := 2
	var_Column4 := IColumn{var_Columns:Add("Data 1")}
		var_Column4:FormatColumn := "0 index `A-Z`"
		var_Column4:[Def,exCellHasCheckBox] := true
	var_Column5 := IColumn{var_Columns:Add("Data 2")}
		var_Column5:FormatColumn := "0 index `AB` replace `A` with `<off -4>A</off>`"
		var_Column5:[Def,exCellSingleLine] := false
		var_Column5:[Def,exCellCaptionFormat] := 1
		var_Column5:[Def,exCellHasRadioButton] := true
	var_Column6 := IColumn{var_Columns:Add("Data 3")}
		var_Column6:FormatColumn := "0 index `CDC` replace `D` with `<b>D</b>`"
		var_Column6:[Def,exCellCaptionFormat] := 1
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("ParentA")
	var_Items:InsertItem(h,nil,"Child A")
	var_Items:InsertItem(h,nil,"Child B")
	var_Items:[CellState,h,4] := 1
	var_Items:[CellBackColor,var_Items:InsertItem(h,nil,"Child C"),5] := RGB(0,255,0)
	var_Items:[ExpandItem,h] := true
	var_Items:AddItem("Item A")
	h := var_Items:AddItem("ParentB")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[CellBackColor,var_Items:InsertItem(h,nil,"Child 3"),5] := RGB(0,255,0)
	var_Items:[CellState,h,5] := 1
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
	var_Items:AddItem("Item D")
	var_Items:[ExpandItem,h] := true
oDCOCX_Exontrol1:EndUpdate()
sFile := "c:/temp/export.html"
oDCOCX_Exontrol1:Export(sFile,"vis")
// Generate Source for 'Microsoft Internet Controls(ieframe.dll)' server from Tools\Automation Server...
var_ShellBrowserWindow := IWebBrowser2{"InternetExplorer.Application"}

533
Export Data in CSV format

local var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6 as IColumn
local var_Columns as IColumns
local var_ConditionalFormat,var_ConditionalFormat1 as IConditionalFormat
local var_ConditionalFormats as IConditionalFormats
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:BackColorAlternate := RGB(240,240,240)
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:[Description,exFilterBarAnd] := AsString(oDCOCX_Exontrol1:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oDCOCX_Exontrol1:[Description,exFilterBarAnd],nil,nil))
oDCOCX_Exontrol1:FilterBarCaption := "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarCompact | exFilterBarShowCloseIfRequired | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible
oDCOCX_Exontrol1:FilterBarPromptType := exFilterPromptContainsAny
var_ConditionalFormats := oDCOCX_Exontrol1:ConditionalFormats
	var_ConditionalFormats:Add("%0 like `*parent*`","parent"):BackColor := RGB(192,192,192)
	var_ConditionalFormat := var_ConditionalFormats:Add("%0 like `*child*`","child")
		var_ConditionalFormat:ForeColor := RGB(255,128,128)
		var_ConditionalFormat:ApplyTo := exFormatToColumns
	var_ConditionalFormat1 := var_ConditionalFormats:Add("%0 like `*B*`","b")
		var_ConditionalFormat1:ForeColor := RGB(0,0,255)
		var_ConditionalFormat1:Bold := true
		var_ConditionalFormat1:Italic := true
		var_ConditionalFormat1:ApplyTo := exFormatToColumns
var_Columns := oDCOCX_Exontrol1:Columns
	var_Column := IColumn{var_Columns:Add("Value")}
		var_Column:Width := 128
		var_Column:HTMLCaption := "<b>VA</b><r>sko"
	var_Column1 := IColumn{var_Columns:Add("APos")}
		var_Column1:FormatColumn := "0 apos ``"
		var_Column1:AllowSort := false
		var_Column1:[Def,exCellBackColor] := 15790320
		var_Column1:[Def,exCellForeColor] := 8421504
		var_Column1:[Def,exHeaderForeColor] := var_Column1:[Def,exCellForeColor]
		var_Column1:Position := 0
	var_Column2 := IColumn{var_Columns:Add("RPos")}
		var_Column2:FormatColumn := "0 rpos ``"
		var_Column2:AllowSort := false
		var_Column2:Position := 1
	var_Column3 := IColumn{var_Columns:Add("Index")}
		var_Column3:FormatColumn := "0 index ``"
		var_Column3:DisplayFilterButton := true
		var_Column3:FilterList := exShowCheckBox
		var_Column3:Position := 2
	var_Column4 := IColumn{var_Columns:Add("Data 1")}
		var_Column4:FormatColumn := "0 index `A-Z`"
		var_Column4:[Def,exCellHasCheckBox] := true
	var_Column5 := IColumn{var_Columns:Add("Data 2")}
		var_Column5:FormatColumn := "0 index `AB` replace `A` with `<off -4>A</off>`"
		var_Column5:[Def,exCellSingleLine] := false
		var_Column5:[Def,exCellCaptionFormat] := 1
		var_Column5:[Def,exCellHasRadioButton] := true
	var_Column6 := IColumn{var_Columns:Add("Data 3")}
		var_Column6:FormatColumn := "0 index `CDC` replace `D` with `<b>D</b>`"
		var_Column6:[Def,exCellCaptionFormat] := 1
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("ParentA")
	var_Items:InsertItem(h,nil,"Child A")
	var_Items:InsertItem(h,nil,"Child B")
	var_Items:[CellState,h,4] := 1
	var_Items:[CellBackColor,var_Items:InsertItem(h,nil,"Child C"),5] := RGB(0,255,0)
	var_Items:[ExpandItem,h] := true
	var_Items:AddItem("Item A")
	h := var_Items:AddItem("ParentB")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[CellBackColor,var_Items:InsertItem(h,nil,"Child 3"),5] := RGB(0,255,0)
	var_Items:[CellState,h,5] := 1
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
	var_Items:AddItem("Item D")
	var_Items:[ExpandItem,h] := true
oDCOCX_Exontrol1:EndUpdate()
OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:Export("","vis")) ))

532
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop

local var_Appearance as IAppearance
local var_Columns as IColumns

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Column 1")
	var_Columns:Add("Column 2")
	var_Columns:Add("Column 3")
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(1,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVIUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBeEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIBICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokGKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=")
	var_Appearance:Add(2,"CP:1 0 -36 0 0")
oDCOCX_Exontrol1:[Background,exColumnsPositionSign] := 0x2000000
oDCOCX_Exontrol1:EndUpdate()

531
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do

local var_Column,var_Column1 as IColumn
local var_ConditionalFormat as IConditionalFormat
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := true
oDCOCX_Exontrol1:DefaultItemHeight := 20
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hhWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQRJSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Default")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:PartialCheck := true
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Position")}
	var_Column1:FormatColumn := "1 rindex ``"
	var_Column1:Visible := false
var_ConditionalFormat := oDCOCX_Exontrol1:ConditionalFormats:Add("%C1 mod 2",nil)
	var_ConditionalFormat:BackColor := 0x1000000
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item 1")
	var_Items:AddItem("Item 2")
	var_Items:AddItem("Item 3")
	var_Items:AddItem("Item 4")
oDCOCX_Exontrol1:EndUpdate()

530
How can I specify alternate background colors for each root item, similar with BackColorAlternate

local var_Column,var_Column1 as IColumn
local var_ConditionalFormat as IConditionalFormat
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Default")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:PartialCheck := true
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Position")}
	var_Column1:FormatColumn := "( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )"
	var_Column1:Visible := false
var_ConditionalFormat := oDCOCX_Exontrol1:ConditionalFormats:Add("%C1 mod 2",nil)
	var_ConditionalFormat:BackColor := RGB(240,240,240)
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root 1")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
	h := var_Items:AddItem("Root 2")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	h := var_Items:AddItem("Root 3")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
oDCOCX_Exontrol1:EndUpdate()

529
FilterBarCaption ALL Keyword ( sample 2, result )

METHOD OCX_Exontrol1InsertItem(Item) CLASS MainDialog
	// InsertItem event - Occurs after a new item has been inserted to Items collection.
	local i as USUAL
	i := oDCOCX_Exontrol1:FormatABC("value + 1",oDCOCX_Exontrol1:Items:[ItemToIndex,Item],nil,nil)
	oDCOCX_Exontrol1:Items:[CellImage,Item,3] := i
RETURN NIL

local var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5 as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-1")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-2")}
	var_Column1:DisplayFilterButton := true
	var_Column1:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column2:[Def,exCellHasCheckBox] := true
	var_Column2:DisplayFilterButton := true
	var_Column2:DisplayFilterPattern := false
	var_Column2:FilterType := exCheck
var_Column3 := IColumn{oDCOCX_Exontrol1:Columns:Add("Image")}
	var_Column3:DisplayFilterButton := true
	var_Column3:FilterType := exImage
	var_Column3:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox
var_Column4 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column4:AllowSizing := false
	var_Column4:AllowSort := false
	var_Column4:Width := 32
	var_Column4:FormatColumn := "1 apos ``"
	var_Column4:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellCaption,var_Items:AddItem("Item A"),1] := "Sub-Item A"
	h := var_Items:AddItem("Item B")
	var_Items:[CellCaption,h,1] := "Sub-Item B"
	var_Items:[CellState,h,2] := 1
	var_Items:[CellCaption,var_Items:AddItem("Item C"),1] := "Sub-Item C"
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:[Description,exFilterBarAnd] := AsString(oDCOCX_Exontrol1:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oDCOCX_Exontrol1:[Description,exFilterBarAnd],nil,nil))
oDCOCX_Exontrol1:FilterBarCaption := "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarVisible | exFilterBarPromptVisible
var_Column5 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column5:FilterType := exFilter
	var_Column5:Filter := "Item A|Item B"
oDCOCX_Exontrol1:Columns:[Item,2]:Filter := AsString(1)
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

528
FilterBarCaption ALL Keyword ( sample 1 )

METHOD OCX_Exontrol1InsertItem(Item) CLASS MainDialog
	// InsertItem event - Occurs after a new item has been inserted to Items collection.
	local i as USUAL
	i := oDCOCX_Exontrol1:FormatABC("value + 1",oDCOCX_Exontrol1:Items:[ItemToIndex,Item],nil,nil)
	oDCOCX_Exontrol1:Items:[CellImage,Item,3] := i
RETURN NIL

local var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5 as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-1")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-2")}
	var_Column1:DisplayFilterButton := true
	var_Column1:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column2:[Def,exCellHasCheckBox] := true
	var_Column2:DisplayFilterButton := true
	var_Column2:DisplayFilterPattern := false
	var_Column2:FilterType := exCheck
var_Column3 := IColumn{oDCOCX_Exontrol1:Columns:Add("Image")}
	var_Column3:DisplayFilterButton := true
	var_Column3:FilterType := exImage
	var_Column3:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox
var_Column4 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column4:AllowSizing := false
	var_Column4:AllowSort := false
	var_Column4:Width := 32
	var_Column4:FormatColumn := "1 apos ``"
	var_Column4:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellCaption,var_Items:AddItem("Item A"),1] := "Sub-Item A"
	h := var_Items:AddItem("Item B")
	var_Items:[CellCaption,h,1] := "Sub-Item B"
	var_Items:[CellState,h,2] := 1
	var_Items:[CellCaption,var_Items:AddItem("Item C"),1] := "Sub-Item C"
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:[Description,exFilterBarAnd] := AsString(oDCOCX_Exontrol1:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oDCOCX_Exontrol1:[Description,exFilterBarAnd],nil,nil))
oDCOCX_Exontrol1:FilterBarCaption := "all"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarVisible | exFilterBarPromptVisible
var_Column5 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column5:FilterType := exFilter
	var_Column5:Filter := "Item A|Item B"
oDCOCX_Exontrol1:Columns:[Item,2]:Filter := AsString(1)
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

527
FilterBarCaption ALLUI Keyword ( sample 2, result )

METHOD OCX_Exontrol1InsertItem(Item) CLASS MainDialog
	// InsertItem event - Occurs after a new item has been inserted to Items collection.
	local i as USUAL
	i := oDCOCX_Exontrol1:FormatABC("value + 1",oDCOCX_Exontrol1:Items:[ItemToIndex,Item],nil,nil)
	oDCOCX_Exontrol1:Items:[CellImage,Item,3] := i
RETURN NIL

local var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5 as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-1")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-2")}
	var_Column1:DisplayFilterButton := true
	var_Column1:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column2:[Def,exCellHasCheckBox] := true
	var_Column2:DisplayFilterButton := true
	var_Column2:DisplayFilterPattern := false
	var_Column2:FilterType := exCheck
var_Column3 := IColumn{oDCOCX_Exontrol1:Columns:Add("Image")}
	var_Column3:DisplayFilterButton := true
	var_Column3:FilterType := exImage
	var_Column3:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox
var_Column4 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column4:AllowSizing := false
	var_Column4:AllowSort := false
	var_Column4:Width := 32
	var_Column4:FormatColumn := "1 apos ``"
	var_Column4:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellCaption,var_Items:AddItem("Item A"),1] := "Sub-Item A"
	h := var_Items:AddItem("Item B")
	var_Items:[CellCaption,h,1] := "Sub-Item B"
	var_Items:[CellState,h,2] := 1
	var_Items:[CellCaption,var_Items:AddItem("Item C"),1] := "Sub-Item C"
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:[Description,exFilterBarAnd] := AsString(oDCOCX_Exontrol1:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oDCOCX_Exontrol1:[Description,exFilterBarAnd],nil,nil))
oDCOCX_Exontrol1:FilterBarCaption := "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarVisible | exFilterBarPromptVisible
var_Column5 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column5:FilterType := exFilter
	var_Column5:Filter := "Item A|Item B"
oDCOCX_Exontrol1:Columns:[Item,2]:Filter := AsString(1)
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

526
FilterBarCaption ALLUI Keyword ( sample 1 )

METHOD OCX_Exontrol1InsertItem(Item) CLASS MainDialog
	// InsertItem event - Occurs after a new item has been inserted to Items collection.
	local i as USUAL
	i := oDCOCX_Exontrol1:FormatABC("value + 1",oDCOCX_Exontrol1:Items:[ItemToIndex,Item],nil,nil)
	oDCOCX_Exontrol1:Items:[CellImage,Item,3] := i
RETURN NIL

local var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5 as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-1")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-2")}
	var_Column1:DisplayFilterButton := true
	var_Column1:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column2:[Def,exCellHasCheckBox] := true
	var_Column2:DisplayFilterButton := true
	var_Column2:DisplayFilterPattern := false
	var_Column2:FilterType := exCheck
var_Column3 := IColumn{oDCOCX_Exontrol1:Columns:Add("Image")}
	var_Column3:DisplayFilterButton := true
	var_Column3:FilterType := exImage
	var_Column3:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox
var_Column4 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column4:AllowSizing := false
	var_Column4:AllowSort := false
	var_Column4:Width := 32
	var_Column4:FormatColumn := "1 apos ``"
	var_Column4:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellCaption,var_Items:AddItem("Item A"),1] := "Sub-Item A"
	h := var_Items:AddItem("Item B")
	var_Items:[CellCaption,h,1] := "Sub-Item B"
	var_Items:[CellState,h,2] := 1
	var_Items:[CellCaption,var_Items:AddItem("Item C"),1] := "Sub-Item C"
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:[Description,exFilterBarAnd] := AsString(oDCOCX_Exontrol1:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oDCOCX_Exontrol1:[Description,exFilterBarAnd],nil,nil))
oDCOCX_Exontrol1:FilterBarCaption := "allui"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarVisible | exFilterBarPromptVisible
var_Column5 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column5:FilterType := exFilter
	var_Column5:Filter := "Item A|Item B"
oDCOCX_Exontrol1:Columns:[Item,2]:Filter := AsString(1)
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

525
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

METHOD OCX_Exontrol1InsertItem(Item) CLASS MainDialog
	// InsertItem event - Occurs after a new item has been inserted to Items collection.
	local i as USUAL
	i := oDCOCX_Exontrol1:FormatABC("value + 1",oDCOCX_Exontrol1:Items:[ItemToIndex,Item],nil,nil)
	oDCOCX_Exontrol1:Items:[CellImage,Item,3] := i
RETURN NIL

local var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5 as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-1")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-2")}
	var_Column1:DisplayFilterButton := true
	var_Column1:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column2:[Def,exCellHasCheckBox] := true
	var_Column2:DisplayFilterButton := true
	var_Column2:DisplayFilterPattern := false
	var_Column2:FilterType := exCheck
var_Column3 := IColumn{oDCOCX_Exontrol1:Columns:Add("Image")}
	var_Column3:DisplayFilterButton := true
	var_Column3:FilterType := exImage
	var_Column3:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox
var_Column4 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column4:AllowSizing := false
	var_Column4:AllowSort := false
	var_Column4:Width := 32
	var_Column4:FormatColumn := "1 apos ``"
	var_Column4:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellCaption,var_Items:AddItem("Item A"),1] := "Sub-Item A"
	h := var_Items:AddItem("Item B")
	var_Items:[CellCaption,h,1] := "Sub-Item B"
	var_Items:[CellState,h,2] := 1
	var_Items:[CellCaption,var_Items:AddItem("Item C"),1] := "Sub-Item C"
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:[Description,exFilterBarAnd] := AsString(oDCOCX_Exontrol1:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oDCOCX_Exontrol1:[Description,exFilterBarAnd],nil,nil))
oDCOCX_Exontrol1:FilterBarCaption := "(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( available replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with `` replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarVisible | exFilterBarPromptVisible
var_Column5 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column5:FilterType := exFilter
	var_Column5:Filter := "Item A|Item B"
oDCOCX_Exontrol1:Columns:[Item,2]:Filter := AsString(1)
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

524
FilterBarCaption AVAILABLE Keyword ( sample 1 )

METHOD OCX_Exontrol1InsertItem(Item) CLASS MainDialog
	// InsertItem event - Occurs after a new item has been inserted to Items collection.
	local i as USUAL
	i := oDCOCX_Exontrol1:FormatABC("value + 1",oDCOCX_Exontrol1:Items:[ItemToIndex,Item],nil,nil)
	oDCOCX_Exontrol1:Items:[CellImage,Item,3] := i
RETURN NIL

local var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5 as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-1")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-2")}
	var_Column1:DisplayFilterButton := true
	var_Column1:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column2:[Def,exCellHasCheckBox] := true
	var_Column2:DisplayFilterButton := true
	var_Column2:DisplayFilterPattern := false
	var_Column2:FilterType := exCheck
var_Column3 := IColumn{oDCOCX_Exontrol1:Columns:Add("Image")}
	var_Column3:DisplayFilterButton := true
	var_Column3:FilterType := exImage
	var_Column3:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox
var_Column4 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column4:AllowSizing := false
	var_Column4:AllowSort := false
	var_Column4:Width := 32
	var_Column4:FormatColumn := "1 apos ``"
	var_Column4:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellCaption,var_Items:AddItem("Item A"),1] := "Sub-Item A"
	h := var_Items:AddItem("Item B")
	var_Items:[CellCaption,h,1] := "Sub-Item B"
	var_Items:[CellState,h,2] := 1
	var_Items:[CellCaption,var_Items:AddItem("Item C"),1] := "Sub-Item C"
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:[Description,exFilterBarAnd] := AsString(oDCOCX_Exontrol1:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oDCOCX_Exontrol1:[Description,exFilterBarAnd],nil,nil))
oDCOCX_Exontrol1:FilterBarCaption := "value + ` ` + available"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarVisible | exFilterBarPromptVisible
var_Column5 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column5:FilterType := exFilter
	var_Column5:Filter := "Item A|Item B"
oDCOCX_Exontrol1:Columns:[Item,2]:Filter := AsString(1)
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

523
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )

local var_Column,var_Column1,var_Column2,var_Column3,var_Column4 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-1")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-2")}
	var_Column1:DisplayFilterButton := true
	var_Column1:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column2:AllowSizing := false
	var_Column2:AllowSort := false
	var_Column2:Width := 32
	var_Column2:FormatColumn := "1 apos ``"
	var_Column2:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellCaption,var_Items:AddItem("Item A"),1] := "Sub-Item A"
	var_Items:[CellCaption,var_Items:AddItem("Item B"),1] := "Sub-Item B"
	var_Items:[CellCaption,var_Items:AddItem("Item C"),1] := "Sub-Item C"
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:[Description,exFilterBarAnd] := AsString(oDCOCX_Exontrol1:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oDCOCX_Exontrol1:[Description,exFilterBarAnd],nil,nil))
oDCOCX_Exontrol1:FilterBarCaption := "(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarToggle
var_Column3 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column3:FilterType := exFilter
	var_Column3:Filter := "Item A|Item B"
var_Column4 := oDCOCX_Exontrol1:Columns:[Item,1]
	var_Column4:FilterType := exPattern
	var_Column4:Filter := "*B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

522
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

local var_Column,var_Column1,var_Column2,var_Column3,var_Column4 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-1")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-2")}
	var_Column1:DisplayFilterButton := true
	var_Column1:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column2:AllowSizing := false
	var_Column2:AllowSort := false
	var_Column2:Width := 32
	var_Column2:FormatColumn := "1 apos ``"
	var_Column2:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellCaption,var_Items:AddItem("Item A"),1] := "Sub-Item A"
	var_Items:[CellCaption,var_Items:AddItem("Item B"),1] := "Sub-Item B"
	var_Items:[CellCaption,var_Items:AddItem("Item C"),1] := "Sub-Item C"
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:[Description,exFilterBarAnd] := AsString(oDCOCX_Exontrol1:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oDCOCX_Exontrol1:[Description,exFilterBarAnd],nil,nil))
oDCOCX_Exontrol1:FilterBarCaption := "value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarToggle
var_Column3 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column3:FilterType := exFilter
	var_Column3:Filter := "Item A|Item B"
var_Column4 := oDCOCX_Exontrol1:Columns:[Item,1]
	var_Column4:FilterType := exPattern
	var_Column4:Filter := "*B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

521
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )

local var_Column,var_Column1,var_Column2,var_Column3,var_Column4 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-1")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Col-2")}
	var_Column1:DisplayFilterButton := true
	var_Column1:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column2 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column2:AllowSizing := false
	var_Column2:AllowSort := false
	var_Column2:Width := 32
	var_Column2:FormatColumn := "1 apos ``"
	var_Column2:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellCaption,var_Items:AddItem("Item A"),1] := "Sub-Item A"
	var_Items:[CellCaption,var_Items:AddItem("Item B"),1] := "Sub-Item B"
	var_Items:[CellCaption,var_Items:AddItem("Item C"),1] := "Sub-Item C"
oDCOCX_Exontrol1:[Description,exFilterBarAnd] := AsString(oDCOCX_Exontrol1:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oDCOCX_Exontrol1:[Description,exFilterBarAnd],nil,nil))
oDCOCX_Exontrol1:FilterBarCaption := "value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarToggle
var_Column3 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column3:FilterType := exFilter
	var_Column3:Filter := "Item A|Item B"
var_Column4 := oDCOCX_Exontrol1:Columns:[Item,1]
	var_Column4:FilterType := exPattern
	var_Column4:Filter := "*B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

520
Is it possible to automatically displays the control's filter label to the right

local var_Column,var_Column1,var_Column2 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column1:AllowSizing := false
	var_Column1:AllowSort := false
	var_Column1:Width := 32
	var_Column1:FormatColumn := "1 apos ``"
	var_Column1:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarCaption := "`<r>` + value"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarShowCloseOnRight | exFilterBarToggle
var_Column2 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column2:FilterType := exFilter
	var_Column2:Filter := "Item B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

519
How can I get the number of results/items being shown in the control's filter bar (sample 4)

local var_Column,var_Column1 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}
	var_Column:DisplayFilterButton := true
	var_Column:FilterList := exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column1:AllowSizing := false
	var_Column1:AllowSort := false
	var_Column1:Width := 32
	var_Column1:FormatColumn := "1 apos ``"
	var_Column1:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:FilterBarPrompt := AsString(oDCOCX_Exontrol1:FormatABC("`<b>` + value",oDCOCX_Exontrol1:FilterBarPrompt,nil,nil))
oDCOCX_Exontrol1:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarCompact | exFilterBarShowCloseOnRight | exFilterBarShowCloseIfRequired | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible
oDCOCX_Exontrol1:EndUpdate()

518
How can I get the number of results being shown in the control's filter bar (sample 3)

local var_Column,var_Column1 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : ``)"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarCompact | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible
var_Column1 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column1:FilterType := exFilter
	var_Column1:Filter := "Item A|Item B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

517
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

local var_Column,var_Column1 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarCompact | exFilterBarSingleLine | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible
var_Column1 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column1:FilterType := exFilter
	var_Column1:Filter := "Item A|Item B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

516
How can I get the number of results being shown in the control's filter bar (sample 1)

local var_Column,var_Column1 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:FilterBarCaption := "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible
var_Column1 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column1:FilterType := exFilter
	var_Column1:Filter := "Item A|Item B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

515
FilterBarCaption Predefined Keywords

METHOD OCX_Exontrol1AfterExpandItem(Item) CLASS MainDialog
	// AfterExpandItem event - Fired after an item is expanded (collapsed).
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column,var_Column1,var_Column2 as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Check")}
	var_Column:[Def,exCellHasCheckBox] := true
	var_Column:DisplayFilterButton := true
	var_Column:DisplayFilterPattern := false
	var_Column:FilterType := exCheck
var_Column1 := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column1:AllowSizing := false
	var_Column1:AllowSort := false
	var_Column1:Width := 32
	var_Column1:FormatColumn := "1 apos ``"
	var_Column1:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	h := var_Items:AddItem("Item B")
	var_Items:[CellState,var_Items:InsertItem(h,nil,"Sub-Item B1"),1] := 1
	var_Items:InsertItem(h,nil,"Sub-Item B2")
	var_Items:[ExpandItem,h] := true
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterInclude := exItemsWithChilds
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:FilterBarCaption := "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>: ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</i></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=808080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount + `</fgcolor>`"
oDCOCX_Exontrol1:FilterBarPromptPattern := "B"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible
var_Column2 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column2:FilterType := exFilter
	var_Column2:Filter := "Item A|Item B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

514
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines

local var_Column,var_Column1 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:FilterBarFont := oDCOCX_Exontrol1:Font
oDCOCX_Exontrol1:FilterBarCaption := "`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value"
oDCOCX_Exontrol1:FilterBarPromptPattern := "B"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarCompact | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible
var_Column1 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column1:FilterType := exFilter
	var_Column1:Filter := "Item A|Item B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

513
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarShowCloseOnRight | exFilterBarToggle | exFilterBarPromptVisible
oDCOCX_Exontrol1:FilterBarPrompt := AsString(oDCOCX_Exontrol1:FormatABC("`<r>` + value",oDCOCX_Exontrol1:FilterBarPrompt,nil,nil))
oDCOCX_Exontrol1:EndUpdate()

512
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:RightToLeft := true
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarToggle | exFilterBarPromptVisible
oDCOCX_Exontrol1:EndUpdate()

511
How can I change the visual appearance of the filter bar's close button (EBN)

local var_Appearance as IAppearance
local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(1,"gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJjyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmSZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OROicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXAiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaKJDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEAkjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSMRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ")
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarToggle | exFilterBarPromptVisible
oDCOCX_Exontrol1:[Background,exFooterFilterBarButton] := 0x1000000
oDCOCX_Exontrol1:EndUpdate()

510
How can I change the visual appearance of the filter bar's close button (solid)

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarPromptVisible
oDCOCX_Exontrol1:[Background,exFooterFilterBarButton] := RGB(255,0,0)
oDCOCX_Exontrol1:EndUpdate()

509
Is it possible to prevent definitely showing the filter bar's close button

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarPromptVisible
oDCOCX_Exontrol1:[Background,exFooterFilterBarButton] := -1
oDCOCX_Exontrol1:EndUpdate()

508
Is it possible to show the close button only if there is a filter applied

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarShowCloseIfRequired | exFilterBarPromptVisible
oDCOCX_Exontrol1:EndUpdate()

507
The control's filter bar is not closed once I click the close button (toggle)

local var_Column,var_Column1 as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
	var_Items:[LockedItemCount,exBottom] := 1
	h := var_Items:[LockedItem,exBottom,0]
	var_Items:[ItemDivider,h] := 0
	var_Items:[CellCaption,h,0] := "<c><fgcolor=808080>Press the CTRL + F to turn on/off the control's filter bar. ALT + Up/Down moves the focus."
	var_Items:[CellCaptionFormat,h,0] := exHTML
oDCOCX_Exontrol1:FilterBarCaption := "`<r><fgcolor=808080>` + value"
oDCOCX_Exontrol1:FilterBarPromptPattern := "B"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarCompact | exFilterBarToggle | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible
var_Column1 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column1:FilterType := exFilter
	var_Column1:Filter := "Item B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

506
How can I display the control's filter on a single line

local var_Column,var_Column1 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarCaption := "len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarSingleLine | exFilterBarVisible
var_Column1 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column1:FilterType := exFilter
	var_Column1:Filter := "Item A|Item B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

505
How can I display the control's filter on a single line (prompt-combined)

local var_Column,var_Column1 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarCaption := "`<r>` + value"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarCompact | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible
var_Column1 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column1:FilterType := exFilter
	var_Column1:Filter := "Item A|Item B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

504
How can I get the number of results after a filter is applied

METHOD OCX_Exontrol1Click() CLASS MainDialog
	// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
	oDCOCX_Exontrol1:ClearFilter()
RETURN NIL

METHOD OCX_Exontrol1FilterChange() CLASS MainDialog
	// FilterChange event - Occurs when filter was changed.
	OutputDebugString(String2Psz( "Items.MatchItemCount" ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:Items:MatchItemCount) ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:FormatABC("value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",oDCOCX_Exontrol1:Items:MatchItemCount,nil,nil)) ))
RETURN NIL

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarPromptVisible
oDCOCX_Exontrol1:FilterBarPromptPattern := "Item"
oDCOCX_Exontrol1:EndUpdate()

503
How can I programmatically clear the control's filter
METHOD OCX_Exontrol1Click() CLASS MainDialog
	// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
	oDCOCX_Exontrol1:ClearFilter()
RETURN NIL

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarPromptVisible
oDCOCX_Exontrol1:FilterBarPromptPattern := "B"
oDCOCX_Exontrol1:EndUpdate()

502
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

local var_Column,var_Column1 as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarPromptPattern := "B"
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarVisible | exFilterBarPromptVisible
var_Column1 := oDCOCX_Exontrol1:Columns:[Item,0]
	var_Column1:FilterType := exFilter
	var_Column1:Filter := "Item B"
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

501
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
IColumn{oDCOCX_Exontrol1:Columns:Add("Item")}:DisplayFilterButton := true
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}
	var_Column:AllowSizing := false
	var_Column:AllowSort := false
	var_Column:Width := 32
	var_Column:FormatColumn := "1 apos ``"
	var_Column:Position := 0
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarPromptVisible
oDCOCX_Exontrol1:FilterBarPromptPattern := "B"
oDCOCX_Exontrol1:EndUpdate()