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

with AxComboBox1 do
begin
BeginUpdate();
HeaderSingleLine := False;
HeaderHeight := 36;
DrawGridLines := EXCOMBOBOXLib.GridLinesEnum.exRowLines;
ColumnAutoResize := False;
ScrollBySingleLine := True;
with Columns do
begin
with (Add('Single-Line (exCaptionSingleLine)') as EXCOMBOBOXLib.Column) do
begin
Width := 96;
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellSingleLine] := TObject(-1);
end;
with (Add('Word-Wrap (exCaptionWordWrap)') as EXCOMBOBOXLib.Column) do
begin
Width := 96;
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellSingleLine] := TObject(0);
FormatColumn := '%0';
end;
with (Add('Break-Wrap (exCaptionBreakWrap)') as EXCOMBOBOXLib.Column) do
begin
Width := 96;
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellSingleLine] := TObject(1);
FormatColumn := '%0';
end;
end;
with Items do
begin
AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.');
AddItem('This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.');
end;
EndUpdate();
end
|
537:
|
Type of wraps the cell's caption support (Sample 1)

with AxComboBox1 do
begin
BeginUpdate();
HeaderSingleLine := False;
HeaderHeight := 36;
DrawGridLines := EXCOMBOBOXLib.GridLinesEnum.exRowLines;
ColumnAutoResize := False;
ScrollBySingleLine := True;
(Columns.Add('Default') as EXCOMBOBOXLib.Column).Width := 128;
with Items do
begin
h := AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
h := AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.');
CellCaptionFormat[TObject(h),TObject(0)] := EXCOMBOBOXLib.CaptionFormatEnum.exHTML;
h := AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
CellSingleLine[TObject(h),TObject(0)] := EXCOMBOBOXLib.CellSingleLineEnum.exCaptionWordWrap;
h := AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.');
CellCaptionFormat[TObject(h),TObject(0)] := EXCOMBOBOXLib.CaptionFormatEnum.exHTML;
CellSingleLine[TObject(h),TObject(0)] := EXCOMBOBOXLib.CellSingleLineEnum.exCaptionWordWrap;
h := AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
CellSingleLine[TObject(h),TObject(0)] := EXCOMBOBOXLib.CellSingleLineEnum.exCaptionBreakWrap;
h := AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.');
CellCaptionFormat[TObject(h),TObject(0)] := EXCOMBOBOXLib.CaptionFormatEnum.exHTML;
CellSingleLine[TObject(h),TObject(0)] := EXCOMBOBOXLib.CellSingleLineEnum.exCaptionBreakWrap;
end;
EndUpdate();
end
|
536:
|
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

with AxComboBox1 do
begin
BeginUpdate();
DrawGridLines := EXCOMBOBOXLib.GridLinesEnum.exRowLines;
ColumnAutoResize := False;
ScrollBySingleLine := True;
(Columns.Add('Default') as EXCOMBOBOXLib.Column).Width := 128;
with Items do
begin
CellSingleLine[TObject(AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.')),TObject(0)] := EXCOMBOBOXLib.CellSingleLineEnum.exCaptionBreakWrap;
AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
end;
EndUpdate();
end
|
535:
|
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

with AxComboBox1 do
begin
BeginUpdate();
DrawGridLines := EXCOMBOBOXLib.GridLinesEnum.exRowLines;
ColumnAutoResize := False;
ScrollBySingleLine := True;
with (Columns.Add('Default') as EXCOMBOBOXLib.Column) do
begin
Width := 128;
Def[EXCOMBOBOXLib.DefColumnEnum.exCellSingleLine] := TObject(1);
end;
with Items do
begin
AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
end;
EndUpdate();
end
|
534:
|
Export Data in HTML format

with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
BackColorAlternate := Color.FromArgb(240,240,240);
DrawGridLines := EXCOMBOBOXLib.GridLinesEnum.exAllLines;
HeaderAppearance := EXCOMBOBOXLib.AppearanceEnum.Etched;
set_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
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>` + ( match' +
'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' +
't + ` item(s)`) )))';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarShowCloseIfRequired) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
FilterBarPromptType := EXCOMBOBOXLib.FilterPromptEnum.exFilterPromptContainsAny;
with ConditionalFormats do
begin
Add('%0 like `*parent*`','parent').BackColor := $c0c0c0;
with Add('%0 like `*child*`','child') do
begin
ForeColor := $8080ff;
ApplyTo := EXCOMBOBOXLib.FormatApplyToEnum.exFormatToColumns;
end;
with Add('%0 like `*B*`','b') do
begin
ForeColor := $ff0000;
Bold := True;
Italic := True;
ApplyTo := EXCOMBOBOXLib.FormatApplyToEnum.exFormatToColumns;
end;
end;
with Columns do
begin
with (Add('Value') as EXCOMBOBOXLib.Column) do
begin
Width := 128;
HTMLCaption := '<b>VA</b><r>sko';
end;
with (Add('APos') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '0 apos ``';
AllowSort := False;
Def[EXCOMBOBOXLib.DefColumnEnum.exCellBackColor] := TObject(15790320);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellForeColor] := TObject(8421504);
Def[EXCOMBOBOXLib.DefColumnEnum.exHeaderForeColor] := Def[EXCOMBOBOXLib.DefColumnEnum.exCellForeColor];
Position := 0;
end;
with (Add('RPos') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '0 rpos ``';
AllowSort := False;
Position := 1;
end;
with (Add('Index') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '0 index ``';
DisplayFilterButton := True;
FilterList := EXCOMBOBOXLib.FilterListEnum.exShowCheckBox;
Position := 2;
end;
with (Add('Data 1') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '0 index `A-Z`';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Data 2') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '0 index `AB` replace `A` with `<off -4>A</off>`';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellSingleLine] := TObject(False);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasRadioButton] := TObject(True);
end;
with (Add('Data 3') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '0 index `CDC` replace `D` with `<b>D</b>`';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
end;
end;
with Items do
begin
h := AddItem('ParentA');
InsertItem(h,Nil,'Child A');
InsertItem(h,Nil,'Child B');
CellState[TObject(h),TObject(4)] := 1;
CellBackColor[TObject(InsertItem(h,Nil,'Child C')),TObject(5)] := $ff00;
ExpandItem[h] := True;
AddItem('Item A');
h := AddItem('ParentB');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
CellBackColor[TObject(InsertItem(h,Nil,'Child 3')),TObject(5)] := $ff00;
CellState[TObject(h),TObject(5)] := 1;
AddItem('Item B');
AddItem('Item C');
AddItem('Item D');
ExpandItem[h] := True;
end;
EndUpdate();
sFile := 'c:/temp/export.html';
Export(TObject(sFile),'vis');
with (ComObj.CreateComObject(ComObj.ProgIDToClassID('InternetExplorer.Application')) as SHDocVw.ShellBrowserWindow) do
begin
Navigate2(sFile,Nil,Nil,Nil,Nil);
end;
end
|
533:
|
Export Data in CSV format

with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
BackColorAlternate := Color.FromArgb(240,240,240);
DrawGridLines := EXCOMBOBOXLib.GridLinesEnum.exAllLines;
HeaderAppearance := EXCOMBOBOXLib.AppearanceEnum.Etched;
set_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
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>` + ( match' +
'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' +
't + ` item(s)`) )))';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarShowCloseIfRequired) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
FilterBarPromptType := EXCOMBOBOXLib.FilterPromptEnum.exFilterPromptContainsAny;
with ConditionalFormats do
begin
Add('%0 like `*parent*`','parent').BackColor := $c0c0c0;
with Add('%0 like `*child*`','child') do
begin
ForeColor := $8080ff;
ApplyTo := EXCOMBOBOXLib.FormatApplyToEnum.exFormatToColumns;
end;
with Add('%0 like `*B*`','b') do
begin
ForeColor := $ff0000;
Bold := True;
Italic := True;
ApplyTo := EXCOMBOBOXLib.FormatApplyToEnum.exFormatToColumns;
end;
end;
with Columns do
begin
with (Add('Value') as EXCOMBOBOXLib.Column) do
begin
Width := 128;
HTMLCaption := '<b>VA</b><r>sko';
end;
with (Add('APos') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '0 apos ``';
AllowSort := False;
Def[EXCOMBOBOXLib.DefColumnEnum.exCellBackColor] := TObject(15790320);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellForeColor] := TObject(8421504);
Def[EXCOMBOBOXLib.DefColumnEnum.exHeaderForeColor] := Def[EXCOMBOBOXLib.DefColumnEnum.exCellForeColor];
Position := 0;
end;
with (Add('RPos') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '0 rpos ``';
AllowSort := False;
Position := 1;
end;
with (Add('Index') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '0 index ``';
DisplayFilterButton := True;
FilterList := EXCOMBOBOXLib.FilterListEnum.exShowCheckBox;
Position := 2;
end;
with (Add('Data 1') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '0 index `A-Z`';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
end;
with (Add('Data 2') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '0 index `AB` replace `A` with `<off -4>A</off>`';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellSingleLine] := TObject(False);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasRadioButton] := TObject(True);
end;
with (Add('Data 3') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '0 index `CDC` replace `D` with `<b>D</b>`';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
end;
end;
with Items do
begin
h := AddItem('ParentA');
InsertItem(h,Nil,'Child A');
InsertItem(h,Nil,'Child B');
CellState[TObject(h),TObject(4)] := 1;
CellBackColor[TObject(InsertItem(h,Nil,'Child C')),TObject(5)] := $ff00;
ExpandItem[h] := True;
AddItem('Item A');
h := AddItem('ParentB');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
CellBackColor[TObject(InsertItem(h,Nil,'Child 3')),TObject(5)] := $ff00;
CellState[TObject(h),TObject(5)] := 1;
AddItem('Item B');
AddItem('Item C');
AddItem('Item D');
ExpandItem[h] := True;
end;
EndUpdate();
OutputDebugString( Export('','vis') );
end
|
532:
|
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop

with AxComboBox1 do
begin
BeginUpdate();
HeaderAppearance := EXCOMBOBOXLib.AppearanceEnum.Etched;
with Columns do
begin
Add('Column 1');
Add('Column 2');
Add('Column 3');
end;
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVI' +
'UcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4a' +
'DhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBe' +
'EMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIB' +
'ICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokG' +
'KHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=');
Add(2,'CP:1 0 -36 0 0');
end;
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exColumnsPositionSign,$2000000);
EndUpdate();
end
|
531:
|
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do

with AxComboBox1 do
begin
BeginUpdate();
ColumnAutoResize := True;
DefaultItemHeight := 20;
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY' +
'1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hh' +
'WfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6' +
'DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQRJ' +
'SEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0' +
'pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==');
with (Columns.Add('Default') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
PartialCheck := True;
end;
with (Columns.Add('Position') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '1 rindex ``';
Visible := False;
end;
with ConditionalFormats.Add('%C1 mod 2',Nil) do
begin
BackColor := $1000000;
end;
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
AddItem('Item 4');
end;
EndUpdate();
end
|
530:
|
How can I specify alternate background colors for each root item, similar with BackColorAlternate

with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
with (Columns.Add('Default') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
PartialCheck := True;
end;
with (Columns.Add('Position') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '( ( 1:=( ( 0:=(1 rpos '''') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )';
Visible := False;
end;
with ConditionalFormats.Add('%C1 mod 2',Nil) do
begin
BackColor := $f0f0f0;
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
h := AddItem('Root 3');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
end;
EndUpdate();
end
|
529:
|
FilterBarCaption ALL Keyword ( sample 2, result )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TWinForm1.AxComboBox1_InsertItem(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_InsertItemEvent);
begin
with AxComboBox1 do
begin
i := FormatABC('value + 1',Items.ItemToIndex[e.item],Nil,Nil);
Items.CellImage[TObject(e.item),TObject(3)] := i;
end
end;
with AxComboBox1 do
begin
BeginUpdate();
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
with (Columns.Add('Col-1') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Col-2') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Check') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exCheck;
end;
with (Columns.Add('Image') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exImage;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox);
end;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
CellCaption[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
h := AddItem('Item B');
CellCaption[TObject(h),TObject(1)] := 'Sub-Item B';
CellState[TObject(h),TObject(2)] := 1;
CellCaption[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
end;
FilterBarFont := (Font as stdole.StdFont);
set_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
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>` + ( matchit' +
'emcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount ' +
'+ ` item(s)`) )))';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
Columns.Item[TObject(2)].Filter := 1;
ApplyFilter();
EndUpdate();
end
|
528:
|
FilterBarCaption ALL Keyword ( sample 1 )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TWinForm1.AxComboBox1_InsertItem(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_InsertItemEvent);
begin
with AxComboBox1 do
begin
i := FormatABC('value + 1',Items.ItemToIndex[e.item],Nil,Nil);
Items.CellImage[TObject(e.item),TObject(3)] := i;
end
end;
with AxComboBox1 do
begin
BeginUpdate();
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
with (Columns.Add('Col-1') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Col-2') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Check') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exCheck;
end;
with (Columns.Add('Image') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exImage;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox);
end;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
CellCaption[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
h := AddItem('Item B');
CellCaption[TObject(h),TObject(1)] := 'Sub-Item B';
CellState[TObject(h),TObject(2)] := 1;
CellCaption[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
end;
FilterBarFont := (Font as stdole.StdFont);
set_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
FilterBarCaption := 'all';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
Columns.Item[TObject(2)].Filter := 1;
ApplyFilter();
EndUpdate();
end
|
527:
|
FilterBarCaption ALLUI Keyword ( sample 2, result )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TWinForm1.AxComboBox1_InsertItem(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_InsertItemEvent);
begin
with AxComboBox1 do
begin
i := FormatABC('value + 1',Items.ItemToIndex[e.item],Nil,Nil);
Items.CellImage[TObject(e.item),TObject(3)] := i;
end
end;
with AxComboBox1 do
begin
BeginUpdate();
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
with (Columns.Add('Col-1') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Col-2') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Check') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exCheck;
end;
with (Columns.Add('Image') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exImage;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox);
end;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
CellCaption[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
h := AddItem('Item B');
CellCaption[TObject(h),TObject(1)] := 'Sub-Item B';
CellState[TObject(h),TObject(2)] := 1;
CellCaption[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
end;
FilterBarFont := (Font as stdole.StdFont);
set_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
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>` + ( match' +
'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' +
't + ` item(s)`) )))';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
Columns.Item[TObject(2)].Filter := 1;
ApplyFilter();
EndUpdate();
end
|
526:
|
FilterBarCaption ALLUI Keyword ( sample 1 )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TWinForm1.AxComboBox1_InsertItem(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_InsertItemEvent);
begin
with AxComboBox1 do
begin
i := FormatABC('value + 1',Items.ItemToIndex[e.item],Nil,Nil);
Items.CellImage[TObject(e.item),TObject(3)] := i;
end
end;
with AxComboBox1 do
begin
BeginUpdate();
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
with (Columns.Add('Col-1') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Col-2') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Check') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exCheck;
end;
with (Columns.Add('Image') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exImage;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox);
end;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
CellCaption[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
h := AddItem('Item B');
CellCaption[TObject(h),TObject(1)] := 'Sub-Item B';
CellState[TObject(h),TObject(2)] := 1;
CellCaption[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
end;
FilterBarFont := (Font as stdole.StdFont);
set_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
FilterBarCaption := 'allui';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
Columns.Item[TObject(2)].Filter := 1;
ApplyFilter();
EndUpdate();
end
|
525:
|
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TWinForm1.AxComboBox1_InsertItem(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_InsertItemEvent);
begin
with AxComboBox1 do
begin
i := FormatABC('value + 1',Items.ItemToIndex[e.item],Nil,Nil);
Items.CellImage[TObject(e.item),TObject(3)] := i;
end
end;
with AxComboBox1 do
begin
BeginUpdate();
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
with (Columns.Add('Col-1') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Col-2') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Check') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exCheck;
end;
with (Columns.Add('Image') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exImage;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox);
end;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
CellCaption[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
h := AddItem('Item B');
CellCaption[TObject(h),TObject(1)] := 'Sub-Item B';
CellState[TObject(h),TObject(2)] := 1;
CellCaption[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
end;
FilterBarFont := (Font as stdole.StdFont);
set_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
FilterBarCaption := '(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( avai' +
'lable 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)`) )))';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
Columns.Item[TObject(2)].Filter := 1;
ApplyFilter();
EndUpdate();
end
|
524:
|
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TWinForm1.AxComboBox1_InsertItem(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_InsertItemEvent);
begin
with AxComboBox1 do
begin
i := FormatABC('value + 1',Items.ItemToIndex[e.item],Nil,Nil);
Items.CellImage[TObject(e.item),TObject(3)] := i;
end
end;
with AxComboBox1 do
begin
BeginUpdate();
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
with (Columns.Add('Col-1') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Col-2') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Check') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exCheck;
end;
with (Columns.Add('Image') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exImage;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox);
end;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
CellCaption[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
h := AddItem('Item B');
CellCaption[TObject(h),TObject(1)] := 'Sub-Item B';
CellState[TObject(h),TObject(2)] := 1;
CellCaption[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
end;
FilterBarFont := (Font as stdole.StdFont);
set_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
FilterBarCaption := 'value + ` ` + available';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
Columns.Item[TObject(2)].Filter := 1;
ApplyFilter();
EndUpdate();
end
|
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 )

with AxComboBox1 do
begin
BeginUpdate();
with (Columns.Add('Col-1') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Col-2') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
CellCaption[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
CellCaption[TObject(AddItem('Item B')),TObject(1)] := 'Sub-Item B';
CellCaption[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
end;
FilterBarFont := (Font as stdole.StdFont);
set_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',TObject(get_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
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>`';
FilterBarPromptVisible := EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarToggle;
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
with Columns.Item[TObject(1)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exPattern;
Filter := '*B';
end;
ApplyFilter();
EndUpdate();
end
|
522:
|
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

with AxComboBox1 do
begin
BeginUpdate();
with (Columns.Add('Col-1') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Col-2') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
CellCaption[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
CellCaption[TObject(AddItem('Item B')),TObject(1)] := 'Sub-Item B';
CellCaption[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
end;
FilterBarFont := (Font as stdole.StdFont);
set_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',TObject(get_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
FilterBarCaption := 'value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`';
FilterBarPromptVisible := EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarToggle;
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
with Columns.Item[TObject(1)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exPattern;
Filter := '*B';
end;
ApplyFilter();
EndUpdate();
end
|
521:
|
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )

with AxComboBox1 do
begin
BeginUpdate();
with (Columns.Add('Col-1') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Col-2') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
CellCaption[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
CellCaption[TObject(AddItem('Item B')),TObject(1)] := 'Sub-Item B';
CellCaption[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
end;
set_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',TObject(get_Description(EXCOMBOBOXLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
FilterBarCaption := 'value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`';
FilterBarPromptVisible := EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarToggle;
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
with Columns.Item[TObject(1)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exPattern;
Filter := '*B';
end;
ApplyFilter();
EndUpdate();
end
|
520:
|
Is it possible to automatically displays the control's filter label to the right

with AxComboBox1 do
begin
BeginUpdate();
with (Columns.Add('Item') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarCaption := '`<r>` + value';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarShowCloseOnRight) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarToggle);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item B';
end;
ApplyFilter();
EndUpdate();
end
|
519:
|
How can I get the number of results/items being shown in the control's filter bar (sample 4)

with AxComboBox1 do
begin
BeginUpdate();
with (Columns.Add('Item') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowExclude) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsAsc);
end;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarFont := (Font as stdole.StdFont);
FilterBarPrompt := FormatABC('`<b>` + value',TObject(FilterBarPrompt),Nil,Nil);
FilterBarCaption := '`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount +' +
' 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarShowCloseOnRight) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarShowCloseIfRequired) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCaptionVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
EndUpdate();
end
|
518:
|
How can I get the number of results being shown in the control's filter bar (sample 3)

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarFont := (Font as stdole.StdFont);
FilterBarCaption := '`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount +' +
' 1) + ` result(s)` ) : ``)';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCaptionVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
ApplyFilter();
EndUpdate();
end
|
517:
|
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarFont := (Font as stdole.StdFont);
FilterBarCaption := '`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCaptionVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
ApplyFilter();
EndUpdate();
end
|
516:
|
How can I get the number of results being shown in the control's filter bar (sample 1)

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarFont := (Font as stdole.StdFont);
FilterBarCaption := '`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCaptionVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
ApplyFilter();
EndUpdate();
end
|
515:
|
FilterBarCaption Predefined Keywords

// AfterExpandItem event - Fired after an item is expanded (collapsed).
procedure TWinForm1.AxComboBox1_AfterExpandItem(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_AfterExpandItemEvent);
begin
with AxComboBox1 do
begin
Refresh();
end
end;
with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Check') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exCheck;
end;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
h := AddItem('Item B');
CellState[TObject(InsertItem(h,Nil,'Sub-Item B1')),TObject(1)] := 1;
InsertItem(h,Nil,'Sub-Item B2');
ExpandItem[h] := True;
AddItem('Item C');
end;
FilterInclude := EXCOMBOBOXLib.FilterIncludeEnum.exItemsWithChilds;
FilterBarFont := (Font as stdole.StdFont);
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=80' +
'8080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount + ' +
'`</fgcolor>`';
FilterBarPromptPattern := 'B';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCaptionVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
ApplyFilter();
EndUpdate();
end
|
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

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarFont := (Font as stdole.StdFont);
FilterBarCaption := '`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value';
FilterBarPromptPattern := 'B';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
ApplyFilter();
EndUpdate();
end
|
513:
|
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarShowCloseOnRight) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarToggle) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
FilterBarPrompt := FormatABC('`<r>` + value',TObject(FilterBarPrompt),Nil,Nil);
EndUpdate();
end
|
512:
|
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

with AxComboBox1 do
begin
BeginUpdate();
RightToLeft := True;
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarToggle) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
EndUpdate();
end
|
511:
|
How can I change the visual appearance of the filter bar's close button (EBN)

with AxComboBox1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJj' +
'yI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmS' +
'ZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8ORO' +
'icbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2D' +
'YxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXA' +
'iAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaKJ' +
'DCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0' +
'TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEAk' +
'jIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSM' +
'RsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQ' +
'HkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ');
end;
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarToggle) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exFooterFilterBarButton,$1000000);
EndUpdate();
end
|
510:
|
How can I change the visual appearance of the filter bar's close button (solid)

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarPromptVisible := EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exFooterFilterBarButton,$ff);
EndUpdate();
end
|
509:
|
Is it possible to prevent definitely showing the filter bar's close button

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarPromptVisible := EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exFooterFilterBarButton,$ffffffff);
EndUpdate();
end
|
508:
|
Is it possible to show the close button only if there is a filter applied

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarShowCloseIfRequired) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
EndUpdate();
end
|
507:
|
The control's filter bar is not closed once I click the close button (toggle)

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
LockedItemCount[EXCOMBOBOXLib.VAlignmentEnum.exBottom] := 1;
h := LockedItem[EXCOMBOBOXLib.VAlignmentEnum.exBottom,0];
ItemDivider[h] := 0;
CellCaption[TObject(h),TObject(0)] := '<c><fgcolor=808080>Press the CTRL + F to turn on/off the control''s filter bar. ALT + Up/Down moves the focus.';
CellCaptionFormat[TObject(h),TObject(0)] := EXCOMBOBOXLib.CaptionFormatEnum.exHTML;
end;
FilterBarCaption := '`<r><fgcolor=808080>` + value';
FilterBarPromptPattern := 'B';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarToggle) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item B';
end;
ApplyFilter();
EndUpdate();
end
|
506:
|
How can I display the control's filter on a single line

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarCaption := 'len(value) ? `filter for: <fgcolor 808080>` + value : `<fgcolor 808080>no filter`';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
ApplyFilter();
EndUpdate();
end
|
505:
|
How can I display the control's filter on a single line (prompt-combined)

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarCaption := '`<r>` + value';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item A|Item B';
end;
ApplyFilter();
EndUpdate();
end
|
504:
|
How can I get the number of results after a filter is applied

// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
procedure TWinForm1.AxComboBox1_ClickEvent(sender: System.Object; e: System.EventArgs);
begin
with AxComboBox1 do
begin
ClearFilter();
end
end;
// FilterChange event - Occurs when filter was changed.
procedure TWinForm1.AxComboBox1_FilterChange(sender: System.Object; e: System.EventArgs);
begin
with AxComboBox1 do
begin
OutputDebugString( 'Items.MatchItemCount' );
OutputDebugString( Items.MatchItemCount );
OutputDebugString( FormatABC('value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`',Items.MatchItemCount,Nil,Nil) );
end
end;
with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarPromptVisible := EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
FilterBarPromptPattern := 'Item';
EndUpdate();
end
|
503:
|
How can I programmatically clear the control's filter
// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
procedure TWinForm1.AxComboBox1_ClickEvent(sender: System.Object; e: System.EventArgs);
begin
with AxComboBox1 do
begin
ClearFilter();
end
end;
with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarPromptVisible := EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
FilterBarPromptPattern := 'B';
EndUpdate();
end
|
502:
|
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarPromptPattern := 'B';
FilterBarPromptVisible := Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item B';
end;
ApplyFilter();
EndUpdate();
end
|
501:
|
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarPromptVisible := EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
FilterBarPromptPattern := 'B';
EndUpdate();
end
|
500:
|
Is it possible to prevent closing the control's filter bar, so it is always shown

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Item') as EXCOMBOBOXLib.Column).DisplayFilterButton := True;
with (Columns.Add('Pos') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
AllowSort := False;
Width := 32;
FormatColumn := '1 apos ``';
Position := 0;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
FilterBarCaption := 'len(value) = 0 ? `<fgcolor=808080>no filter` : value';
FilterBarPromptVisible := EXCOMBOBOXLib.FilterBarVisibleEnum.exFilterBarVisible;
with Columns.Item[TObject(0)] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Item B';
end;
ApplyFilter();
EndUpdate();
end
|
499:
|
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)

with AxComboBox1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(3,'gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' +
'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' +
'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' +
'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgX' +
'IcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRg' +
'wZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMI' +
'NCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=');
Add(1,'CP:3 -2 -2 2 2');
Add(4,'gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' +
'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' +
'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' +
'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEe' +
'Bkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOF' +
'SFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJ' +
'tDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=');
Add(2,'CP:4 -2 -2 2 2');
end;
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exGroupLinesAtRoot;
HasButtons := EXCOMBOBOXLib.ExpandButtonEnum.exCustom;
set_HasButtonsCustom(False,16777216);
set_HasButtonsCustom(True,33554432);
Columns.Add('Column');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child');
end;
EndUpdate();
end
|
498:
|
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)

with AxComboBox1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'XP:TREEVIEW 2 1');
Add(2,'XP:TREEVIEW 2 2');
end;
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exTreeGlyphOpen,$1000000);
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exTreeGlyphClose,$2000000);
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
Columns.Add('Column');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child');
end;
EndUpdate();
end
|
497:
|
How can I find if the control is running in DPI mode
with AxComboBox1 do
begin
OutputDebugString( FormatABC('dpi = 1 ? `normal/stretch mode` : `dpi mode`',Nil,Nil,Nil) );
end
|
496:
|
How can I change the visual appearance of the +/- buttons (method 1)

with AxComboBox1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' +
'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' +
'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' +
'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgX' +
'IcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRg' +
'wZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMI' +
'NCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=');
Add(2,'gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' +
'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' +
'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' +
'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEe' +
'Bkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOF' +
'SFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJ' +
'tDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=');
end;
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exTreeGlyphOpen,$1000000);
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exTreeGlyphClose,$2000000);
Columns.Add('Column');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child');
end;
EndUpdate();
end
|
495:
|
Is there a way to change the dropdown button arrow to something else ( ebn, sample 3 )

with AxComboBox1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVI' +
'UcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4a' +
'DhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBe' +
'EMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIB' +
'ICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokG' +
'KHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhuZwJkYcoagiZ5+HQFRngmZh6h6Z5JnYfodCaCgGBcOpfBQBCAgA==');
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exDropDownButtonUp,$1000000);
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exDropDownButtonDown,$1f0f0f0);
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
IntegralHeight := True;
Columns.Add('P1');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
SelectItem[h] := True;
end;
EndUpdate();
end
|
494:
|
Is there a way to change the dropdown button arrow to something else ( ebn, sample 2 )

with AxComboBox1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABKgCg6AADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVI' +
'UcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4a' +
'DhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBe' +
'EMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/EeH5wiITwUkWMRsF4PYgEeaZ3gGYBoCWeICk6V5wnMf4FDCAAfAiYQgg4A' +
'YAmAWC7gIIYnm2fR/mEUYAF4GIFFEVBYgUYR4BCdoGmKSB6A+CAhDGBBfBiT4IlSdQ9A8WIWCeBJihgZgcg+YJoEIFYMiMSJWAaDZjhiGgogCIooG4QYMAIOQSDUPgil' +
'ONhIg6JI4GIK4LiQKJGDOFJgGMbJbDcDg5hYR4OCWCJyEyAQiCGChDheZBoDIYg3AMIJEVYQ4AnoZQ4mYeQmDsCJGmGNBwDQTQDEaAQcCYCZKGOHRDHgVgVh4J4phoDI' +
'SAaEYkGsNhNhMahVhyaJIFSDiuAIBIBCCaJ5mYe4VGGOhyHaBRInIPIRH2D5qkaIopCEOhCieBxjnqKoNgSapaj6OIsE+apOiWJBnkqYo6isKpqiGdIwCwKpWiaJIOls' +
'Ho8jIa4JFaTIomwOZuBeMgrmifpKgGbR6lAI4lEaM4ymYKIKCKEpfjqbI6kSHgnEmc5GnIOpfBQBCAg=');
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exDropDownButtonUp,$1000000);
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exDropDownButtonDown,$1808080);
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
IntegralHeight := True;
Columns.Add('P1');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
SelectItem[h] := True;
end;
EndUpdate();
end
|
493:
|
Is there a way to change the dropdown button arrow to something else ( ebn, sample 1 )

with AxComboBox1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABFACg6AADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVI' +
'UcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4a' +
'DhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBe' +
'EMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5dlqIh/k8SAFnofxgDgFZ8gGH5ShYCgmiCQgeA6AghAgr5/EyWBUhCB' +
'ZPngZIvgaSpoHYEYBCEOAMnWCJGgiFgZgmYoIDiBw1iKSB+C4fQHhiRJjgyYoIlYJwXmOA56DqC5iAONIhg+S45AYNoQmGExqEYIJkgicZ2gsDRhG4ToSAgMZqFIOolE' +
'iHJzhWSIJGYUAZiWSBsi+EofEkGhiDaCIphSPIZmIcp2GoI4mkmDhGD4JwJgIPQkmcQwqHaCZKgmZI0h6ZwonCFIfmYKIch6IJMhoFh9ggXxIgydQZmjTR5iORhKEaB4' +
'PGAOgUkmD5KBiHItiaSwKHaE4CPuBoMVieJMmMH4qgofoIDsRx6jSZorksapGGUIoqiidJHi2RYKmSHIumEchAh2L5rFeWhUDqAxbBQSIxkeCwkjGMpOAsNpBH0Do3kU' +
'ASAg');
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exDropDownButtonUp,$1000000);
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exDropDownButtonDown,$1808080);
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
IntegralHeight := True;
Columns.Add('P1');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
SelectItem[h] := True;
end;
EndUpdate();
end
|
492:
|
Is there a way to change the dropdown button arrow to something else ( theme, ebn )

with AxComboBox1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'XP:SCROLLBAR 1 6');
Add(2,'XP:SCROLLBAR 1 7');
end;
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exDropDownButtonUp,$1000000);
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exDropDownButtonDown,$2000000);
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
IntegralHeight := True;
Columns.Add('P1');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
SelectItem[h] := True;
end;
EndUpdate();
end
|
491:
|
Is there a way to change the dropdown button arrow to something else ( no visual theme )

with AxComboBox1 do
begin
BeginUpdate();
UseVisualTheme := Integer(EXCOMBOBOXLib.UIVisualThemeEnum.exBorderVisualTheme) Or Integer(EXCOMBOBOXLib.UIVisualThemeEnum.exCheckBoxVisualTheme) Or Integer(EXCOMBOBOXLib.UIVisualThemeEnum.exCalendarVisualTheme) Or Integer(EXCOMBOBOXLib.UIVisualThemeEnum.exFilterBarVisualTheme) Or Integer(EXCOMBOBOXLib.UIVisualThemeEnum.exHeaderVisualTheme);
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
IntegralHeight := True;
Columns.Add('P1');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
SelectItem[h] := True;
end;
EndUpdate();
end
|
490:
|
Is there a way to change the dropdown button arrow to something else ( solid color )

with AxComboBox1 do
begin
BeginUpdate();
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exDropDownButtonDown,$bebebe);
set_Background(EXCOMBOBOXLib.BackgroundPartEnum.exDropDownButtonUp,$808080);
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
IntegralHeight := True;
Columns.Add('P1');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
SelectItem[h] := True;
end;
EndUpdate();
end
|
489:
|
How can I find if there is any filter applied to the control

// FilterChange event - Occurs when filter was changed.
procedure TWinForm1.AxComboBox1_FilterChange(sender: System.Object; e: System.EventArgs);
begin
with AxComboBox1 do
begin
OutputDebugString( 'If negative, the filter is present, else not' );
OutputDebugString( Items.VisibleItemCount );
end
end;
with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
TreeColumnIndex := -1;
FilterInclude := EXCOMBOBOXLib.FilterIncludeEnum.exMatchingItemsOnly;
with (Columns.Add('Column') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'C1';
end;
with Items do
begin
h := AddItem('R1');
InsertItem(h,Nil,'C1');
InsertItem(h,Nil,'C2');
ExpandItem[h] := True;
h := AddItem('R2');
InsertItem(h,Nil,'C1');
InsertItem(h,Nil,'C2');
end;
ApplyFilter();
EndUpdate();
end
|
488:
|
How can I prevent showing the lines for the hierarchy while using the exMatchingItemsOnly option

with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
TreeColumnIndex := -1;
FilterInclude := EXCOMBOBOXLib.FilterIncludeEnum.exMatchingItemsOnly;
with (Columns.Add('Column') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'C1|C2';
end;
with Items do
begin
h := AddItem('R1');
InsertItem(h,Nil,'C1');
InsertItem(h,Nil,'C2');
ExpandItem[h] := True;
h := AddItem('R2');
InsertItem(h,Nil,'C1');
InsertItem(h,Nil,'C2');
end;
ApplyFilter();
EndUpdate();
end
|
487:
|
Is there any method to get only the matched items and not the items with his parent

with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
FilterInclude := EXCOMBOBOXLib.FilterIncludeEnum.exMatchingItemsOnly;
with (Columns.Add('Column') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'C1|C2';
end;
with Items do
begin
h := AddItem('R1');
InsertItem(h,Nil,'C1');
InsertItem(h,Nil,'C2');
ExpandItem[h] := True;
h := AddItem('R2');
InsertItem(h,Nil,'C1');
InsertItem(h,Nil,'C2');
end;
ApplyFilter();
EndUpdate();
end
|
486:
|
How do I get sorted the column as string, numeric, date, date and time. Also how can it be applied to drop down filter panel

with AxComboBox1 do
begin
BeginUpdate();
with (Columns.Add('Date') as EXCOMBOBOXLib.Column) do
begin
SortType := EXCOMBOBOXLib.SortTypeEnum.SortDate;
DisplayFilterButton := True;
DisplayFilterPattern := False;
DisplayFilterDate := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsDesc);
end;
with (Columns.Add('DateTime') as EXCOMBOBOXLib.Column) do
begin
SortType := EXCOMBOBOXLib.SortTypeEnum.SortDateTime;
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsDesc);
end;
with (Columns.Add('Time') as EXCOMBOBOXLib.Column) do
begin
SortType := EXCOMBOBOXLib.SortTypeEnum.SortTime;
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsDesc);
FormatColumn := 'time(value)';
end;
with (Columns.Add('Numeric') as EXCOMBOBOXLib.Column) do
begin
SortType := EXCOMBOBOXLib.SortTypeEnum.SortNumeric;
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsDesc);
end;
with (Columns.Add('String') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXCOMBOBOXLib.FilterListEnum.exShowFocusItem) Or Integer(EXCOMBOBOXLib.FilterListEnum.exShowCheckBox) Or Integer(EXCOMBOBOXLib.FilterListEnum.exSortItemsDesc);
end;
with Items do
begin
h := AddItem('1/27/2010');
CellCaption[TObject(h),TObject(1)] := '1/27/2010 10:00:00 AM';
CellCaption[TObject(h),TObject(2)] := CellCaption[TObject(h),TObject(1)];
CellCaption[TObject(h),TObject(3)] := TObject(1);
CellCaption[TObject(h),TObject(4)] := CellCaption[TObject(h),TObject(3)];
h := AddItem('1/27/2011');
CellCaption[TObject(h),TObject(1)] := '1/27/2011 9:00:00 AM';
CellCaption[TObject(h),TObject(2)] := CellCaption[TObject(h),TObject(1)];
CellCaption[TObject(h),TObject(3)] := TObject(11);
CellCaption[TObject(h),TObject(4)] := CellCaption[TObject(h),TObject(3)];
h := AddItem('11/2/2010');
CellCaption[TObject(h),TObject(1)] := '11/2/2010 9:00:00 AM';
CellCaption[TObject(h),TObject(2)] := CellCaption[TObject(h),TObject(1)];
CellCaption[TObject(h),TObject(3)] := TObject(2);
CellCaption[TObject(h),TObject(4)] := CellCaption[TObject(h),TObject(3)];
end;
Columns.Item['DateTime'].DisplayFilterDate := False;
EndUpdate();
end
|
485:
|
How can I display a different column, on the control's label (method 2)

with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
SingleEdit := True;
LabelColumnIndex := 1;
DrawGridLines := EXCOMBOBOXLib.GridLinesEnum.exVLines;
(Columns.Add('Column 1') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
(Columns.Add('Column 2') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
with Items do
begin
CellCaption[TObject(AddItem('Item 1 on <b>Column 1')),TObject(1)] := 'Item 1 on <b>Column 2';
CellCaption[TObject(AddItem('Item 2 on <b>Column 1')),TObject(1)] := 'Item 2 on <b>Column 2';
CellCaption[TObject(AddItem('Item 3 on <b>Column 1')),TObject(1)] := 'Item 3 on <b>Column 2';
SelectItem[FirstVisibleItem] := True;
end;
EndUpdate();
end
|
484:
|
How can I display a different column, on the control's label (method 1)

with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
SingleEdit := True;
SearchColumnIndex := 1;
DrawGridLines := EXCOMBOBOXLib.GridLinesEnum.exVLines;
(Columns.Add('Column 1') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
(Columns.Add('Column 2') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
with Items do
begin
CellCaption[TObject(AddItem('Item 1 on <b>Column 1')),TObject(1)] := 'Item 1 on <b>Column 2';
CellCaption[TObject(AddItem('Item 2 on <b>Column 1')),TObject(1)] := 'Item 2 on <b>Column 2';
CellCaption[TObject(AddItem('Item 3 on <b>Column 1')),TObject(1)] := 'Item 3 on <b>Column 2';
SelectItem[FirstVisibleItem] := True;
end;
EndUpdate();
end
|
483:
|
How do I sort the index column as numeric

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TWinForm1.AxComboBox1_InsertItem(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_InsertItemEvent);
begin
with AxComboBox1 do
begin
with Items do
begin
CellData[TObject(e.item),TObject(1)] := TObject(ItemToIndex[e.item]);
end;
end
end;
with AxComboBox1 do
begin
BeginUpdate();
DrawGridLines := EXCOMBOBOXLib.GridLinesEnum.exAllLines;
ColumnAutoResize := True;
ShowFocusRect := False;
SingleEdit := True;
with (Columns.Add('Next') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellPaddingLeft] := TObject(4);
Def[EXCOMBOBOXLib.DefColumnEnum.exHeaderPaddingLeft] := TObject(4);
end;
with (Columns.Add('Index') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
Width := 48;
FormatColumn := '(((0 := (1 index ``)) mod 3) case ( default: ``; 0 : `<r><fgcolor=B0B0B0>`; 1: ``; 2 : `<c><fgcolor=808080>` )) + str(=:0)';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
SortType := EXCOMBOBOXLib.SortTypeEnum.SortUserData;
Position := 0;
end;
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
AddItem('Item 4');
AddItem('Item 5');
AddItem('Item 6');
AddItem('Item 7');
AddItem('Item 8');
AddItem('Item 9');
AddItem('Item 10');
end;
EndUpdate();
end
|
482:
|
How can I put icons/images into buttons

with AxComboBox1 do
begin
BeginUpdate();
SingleEdit := True;
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
Columns.Add('');
with (Columns.Add('C+B') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
Width := 48;
FormatColumn := '` <img>` + ( 1 + (1 index ``) mod 3 ) + `</img> `';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasButton] := TObject(True);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellButtonAutoWidth] := TObject(True);
Position := 0;
end;
DrawGridLines := EXCOMBOBOXLib.GridLinesEnum.exVLines;
DefaultItemHeight := 20;
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
AddItem('Item 4');
AddItem('Item 5');
AddItem('Item 6');
AddItem('Item 7');
AddItem('Item 8');
end;
EndUpdate();
end
|
481:
|
Is it possible to have a CheckBox and Button TOGETHER on all cells in a column

// CellButtonClick event - Fired after the user clicks on the cell of button type.
procedure TWinForm1.AxComboBox1_CellButtonClick(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_CellButtonClickEvent);
begin
with AxComboBox1 do
begin
OutputDebugString( 'CellButtonClick' );
OutputDebugString( e.item );
OutputDebugString( get_Key(Nil) );
end
end;
// CellStateChanged event - Fired after cell's state has been changed.
procedure TWinForm1.AxComboBox1_CellStateChanged(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_CellStateChangedEvent);
begin
with AxComboBox1 do
begin
OutputDebugString( 'CellStateChanged' );
OutputDebugString( e.item );
OutputDebugString( get_Key(Nil) );
end
end;
with AxComboBox1 do
begin
BeginUpdate();
SingleEdit := True;
with (Columns.Add('') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
Width := 32;
FormatColumn := '1 index ``';
end;
with (Columns.Add('Def') as EXCOMBOBOXLib.Column) do
begin
AllowSizing := False;
Width := 48;
FormatColumn := '` `';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasButton] := TObject(True);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellButtonAutoWidth] := TObject(True);
end;
Columns.Add('');
with Items do
begin
AddItem('');
AddItem('');
AddItem('');
AddItem('');
AddItem('');
AddItem('');
AddItem('');
AddItem('');
end;
EndUpdate();
end
|
480:
|
How can I show only the matching items, while user types in the drop down control

// EditChange event - Fired when the user has taken an action that may have altered text in an edit control.
procedure TWinForm1.AxComboBox1_EditChange(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_EditChangeEvent);
begin
with AxComboBox1 do
begin
sLabel := get_EditText(TObject(e.colIndex));
OutputDebugString( 'Select the item that maches exactly the typing label: ' );
OutputDebugString( sLabel );
with Items do
begin
SelectItem[FocusItem] := False;
SelectItem[FindItem[TObject(sLabel),TObject(e.colIndex),Nil]] := True;
end;
end
end;
with AxComboBox1 do
begin
BeginUpdate();
SingleEdit := True;
AutoComplete := False;
AutoSelect := False;
AutoSearch := False;
AutoDropDown := True;
IntegralHeight := True;
HeaderVisible := False;
Columns.Add('Friends');
with Items do
begin
AddItem('Fred');
AddItem('Tina');
AddItem('Tom');
end;
EndUpdate();
end
|
479:
|
How do I unselect/deselect the item (Simple style)
with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.Simple;
Columns.Add('Def');
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
AddItem('Item 3');
end;
SearchColumnIndex := 0;
Value := 'Item 2';
with Items do
begin
SelectItem[FocusItem] := False;
end;
EndUpdate();
end
|
478:
|
How do I unselect/deselect the item (DropDownList style)
with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.DropDown;
Columns.Add('Def');
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
AddItem('Item 3');
end;
SearchColumnIndex := 0;
Value := 'Item 2';
with Items do
begin
SelectItem[FocusItem] := False;
end;
EndUpdate();
end
|
477:
|
How do I unselect/deselect the item (DropDown style)
with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.DropDown;
Columns.Add('Def');
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
AddItem('Item 3');
end;
SearchColumnIndex := 0;
Value := 'Item 2';
with Items do
begin
SelectItem[FocusItem] := False;
end;
EndUpdate();
end
|
476:
|
Setting the ForeColor to red and then setting Enabled property on False the ForeColor returns back to original color of black/gray. What can be done (Style is Simple)

with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.Simple;
ColumnAutoResize := True;
with Columns do
begin
Add('C1');
Add('C2');
end;
with Items do
begin
CellCaption[TObject(AddItem('item a')),TObject(1)] := 'item b';
CellCaption[TObject(AddItem('item c')),TObject(1)] := 'item d';
end;
Value := 'item a';
ForeColor := Color.FromArgb(128,128,188);
BackColor := Color.FromArgb(240,240,240);
HeaderForeColor := Color.FromArgb(128,128,128);
SelBackColor := Color.FromArgb(128,128,128);
BackColorEdit := Color.FromArgb(0,0,0);
ForeColorEdit := Color.FromArgb(255,255,255);
Enabled := False;
EndUpdate();
end
|
475:
|
Setting the ForeColor to red and then setting Enabled property on False the ForeColor returns back to original color of black/gray. What can be done (Style is DropDownList)

with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
ColumnAutoResize := True;
with Columns do
begin
Add('C1');
Add('C2');
end;
with Items do
begin
CellCaption[TObject(AddItem('item a')),TObject(1)] := 'item b';
CellCaption[TObject(AddItem('item c')),TObject(1)] := 'item d';
end;
Value := 'item a';
BackColorEdit := Color.FromArgb(0,0,0);
ForeColor := Color.FromArgb(255,255,255);
Enabled := False;
EndUpdate();
end
|
474:
|
Setting the ForeColor to red and then setting Enabled property on False the ForeColor returns back to original color of black/gray. What can be done (Style is DropDown)

with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.DropDown;
ColumnAutoResize := True;
with Columns do
begin
Add('C1');
Add('C2');
end;
with Items do
begin
CellCaption[TObject(AddItem('item a')),TObject(1)] := 'item b';
CellCaption[TObject(AddItem('item c')),TObject(1)] := 'item d';
end;
Value := 'item a';
ForeColorEdit := Color.FromArgb(255,255,255);
BackColorEdit := Color.FromArgb(0,0,0);
Enabled := False;
EndUpdate();
end
|
473:
|
How would you clear the displayed selection for style DropDownList. So if a user selects or searches a value in a style DropDownList, I want to know if I can reset the control back to an empty selection

// DropUp event - Occurs when the drop-down portion of the control is hidden.
procedure TWinForm1.AxComboBox1_DropUp(sender: System.Object; e: System.EventArgs);
begin
with AxComboBox1 do
begin
Value := '';
end
end;
// SelectionChanged event - Fired after a new item has been selected.
procedure TWinForm1.AxComboBox1_SelectionChanged(sender: System.Object; e: System.EventArgs);
begin
with AxComboBox1 do
begin
OutputDebugString( 'You selected: ' );
OutputDebugString( Value );
end
end;
with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
HeaderVisible := False;
AutoSearch := True;
AutoDropDown := True;
IntegralHeight := True;
(Columns.Add('Default') as EXCOMBOBOXLib.Column).AutoSearch := EXCOMBOBOXLib.AutoSearchEnum.exContains;
with Items do
begin
AddItem('This is a bit of text');
AddItem('This is a another text');
DefaultItem := InsertItem(Nil,Nil,'');
ItemPosition[0] := 0;
SortableItem[0] := False;
end;
EndUpdate();
end
|
472:
|
I cannot seem to get autosearch=1 (contains) in the column object to search properly. It still only finds items that start with the typed character. I want to it look to see if the typed character(s) are contained in the item. I Can't seem to get this to work

with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
HeaderVisible := False;
AutoSearch := True;
AutoDropDown := True;
IntegralHeight := True;
(Columns.Add('Default') as EXCOMBOBOXLib.Column).AutoSearch := EXCOMBOBOXLib.AutoSearchEnum.exContains;
with Items do
begin
AddItem('This is a bit of text');
AddItem('This is a another text');
end;
EndUpdate();
end
|
471:
|
If the user selects an item from the list, how can I clear that selection and return the control to the unselected state with the PROMPT text

// DropUp event - Occurs when the drop-down portion of the control is hidden.
procedure TWinForm1.AxComboBox1_DropUp(sender: System.Object; e: System.EventArgs);
begin
with AxComboBox1 do
begin
set_EditText(TObject(0),'');
end
end;
// SelectionChanged event - Fired after a new item has been selected.
procedure TWinForm1.AxComboBox1_SelectionChanged(sender: System.Object; e: System.EventArgs);
begin
with AxComboBox1 do
begin
OutputDebugString( 'You selected: ' );
OutputDebugString( Value );
end
end;
with AxComboBox1 do
begin
BeginUpdate();
LabelHeight := 23;
IntegralHeight := True;
AutoComplete := False;
AutoSearch := False;
AutoDropDown := True;
(Columns.Add('Default') as EXCOMBOBOXLib.Column).Prompt := '<i><fgcolor=808080>type something</fgcolor></i>';
with Items do
begin
AddItem(TObject(0));
AddItem(TObject(1));
AddItem(TObject(2));
end;
EndUpdate();
end
|
470:
|
How do I get notified once the user changes the Filter For field
// EditChange event - Fired when the user has taken an action that may have altered text in an edit control.
procedure TWinForm1.AxComboBox1_EditChange(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_EditChangeEvent);
begin
with AxComboBox1 do
begin
OutputDebugString( 'ColIndex: ' );
OutputDebugString( e.colIndex );
OutputDebugString( 'Label: ' );
OutputDebugString( get_EditText(TObject(0)) );
OutputDebugString( 'FilterFor: ' );
OutputDebugString( get_EditText(TObject(-1)) );
end
end;
with AxComboBox1 do
begin
BeginUpdate();
FilterForVisible := True;
FilterForBackColor := Color.FromArgb(240,240,240);
IntegralHeight := True;
Columns.Add('Default');
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
AddItem('Item 4');
AddItem('Item 5');
end;
EndUpdate();
end
|
469:
|
I am using the ScrollWidth/ScrollHeight property on 0 to hide the control's scroll bars, the question is that the drop down button is disappearing. What can be done so I can still show the drop down button

with AxComboBox1 do
begin
BeginUpdate();
LabelHeight := 40;
ScrollWidth := 0;
ScrollHeight := 0;
DropDownButtonWidth := 40;
EndUpdate();
end
|
468:
|
Does your control supports scrolling by touching the screen

with AxComboBox1 do
begin
BeginUpdate();
ColumnAutoResize := False;
rs := (ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset')) as ADODB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\SAMPLE.MDB',3,3,Nil);
end;
DataSource := (rs as ADODB.Recordset);
ScrollBySingleLine := True;
AutoDrag := Integer(EXCOMBOBOXLib.AutoDragEnum.exAutoDragScrollOnShortTouch) Or Integer(EXCOMBOBOXLib.AutoDragEnum.exAutoDragScroll);
EndUpdate();
end
|
467:
|
How can I make bigger/enlarge the control's drop down button

with AxComboBox1 do
begin
BeginUpdate();
LabelHeight := 40;
ScrollWidth := 40;
EndUpdate();
end
|
466:
|
How do I select a NULL/empty value

with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
Columns.Add('Items');
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
AddItem('Item 4');
DefaultItem := InsertItem(Nil,Nil,'');
ItemPosition[0] := 0;
SortableItem[0] := False;
end;
Value := '';
EndUpdate();
end
|
465:
|
How can I add a vertical padding

with AxComboBox1 do
begin
BeginUpdate();
DrawGridLines := EXCOMBOBOXLib.GridLinesEnum.exAllLines;
with (Columns.Add('Padding') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellSingleLine] := TObject(False);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellPaddingLeft] := TObject(6);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellPaddingRight] := TObject(6);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellPaddingTop] := TObject(6);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellPaddingBottom] := TObject(6);
end;
with Items do
begin
AddItem('padding');
AddItem('padding');
end;
EndUpdate();
end
|
464:
|
How can I add or change the padding (spaces) for captions in the control's header

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Padding-Left') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exHeaderPaddingLeft] := TObject(18);
with (Columns.Add('Padding-Right') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exHeaderPaddingRight] := TObject(18);
HeaderAlignment := EXCOMBOBOXLib.AlignmentEnum.RightAlignment;
end;
EndUpdate();
end
|
463:
|
Is it possible to change the height for all items at once

with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
Columns.Add('Items');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[0] := True;
end;
EndUpdate();
DefaultItemHeight := 12;
Items.ItemHeight[0] := 12;
end
|
462:
|
How can I have a case-insensitive filter (exFilterDoCaseSensitive flag is not set)

with AxComboBox1 do
begin
BeginUpdate();
MarkSearchColumn := False;
with Columns do
begin
with (Add('Car') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'MAZDA';
end;
with (Add('Equipment') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
CustomFilter := 'Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*';
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exPattern;
Filter := 'AIR BAG';
end;
end;
with Items do
begin
CellCaption[TObject(AddItem('Mazda')),TObject(1)] := 'Air Bag';
CellCaption[TObject(AddItem('Toyota')),TObject(1)] := 'Air Bag,Air condition';
CellCaption[TObject(AddItem('Ford')),TObject(1)] := 'Air condition';
CellCaption[TObject(AddItem('Nissan')),TObject(1)] := 'Air Bag,ABS,ESP';
CellCaption[TObject(AddItem('Mazda')),TObject(1)] := 'Air Bag, ABS,ESP';
CellCaption[TObject(AddItem('Mazda')),TObject(1)] := 'ABS,ESP';
end;
ApplyFilter();
EndUpdate();
end
|
461:
|
How can I have a case-sensitive filter

with AxComboBox1 do
begin
BeginUpdate();
MarkSearchColumn := False;
with Columns do
begin
with (Add('Car') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterType := Integer(EXCOMBOBOXLib.FilterTypeEnum.exFilterDoCaseSensitive) Or Integer(EXCOMBOBOXLib.FilterTypeEnum.exFilter);
Filter := 'Mazda';
end;
with (Add('Equipment') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
CustomFilter := 'Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*';
FilterType := Integer(EXCOMBOBOXLib.FilterTypeEnum.exFilterDoCaseSensitive) Or Integer(EXCOMBOBOXLib.FilterTypeEnum.exPattern);
Filter := 'Air Bag';
end;
end;
with Items do
begin
CellCaption[TObject(AddItem('Mazda')),TObject(1)] := 'Air Bag';
CellCaption[TObject(AddItem('Toyota')),TObject(1)] := 'Air Bag,Air condition';
CellCaption[TObject(AddItem('Ford')),TObject(1)] := 'Air condition';
CellCaption[TObject(AddItem('Nissan')),TObject(1)] := 'Air Bag,ABS,ESP';
CellCaption[TObject(AddItem('Mazda')),TObject(1)] := 'Air Bag, ABS,ESP';
CellCaption[TObject(AddItem('Mazda')),TObject(1)] := 'ABS,ESP';
end;
ApplyFilter();
EndUpdate();
end
|
460:
|
Is it possible to filter the items as I type

// EditChange event - Fired when the user has taken an action that may have altered text in an edit control.
procedure TWinForm1.AxComboBox1_EditChange(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_EditChangeEvent);
begin
with AxComboBox1 do
begin
Columns.Item[TObject(0)].Filter := AxComboBox1.EditText[TObject(0)];
ApplyFilter();
end
end;
with AxComboBox1 do
begin
BeginUpdate();
MarkSearchColumn := False;
SingleEdit := True;
AutoComplete := False;
AutoDropDown := True;
IntegralHeight := True;
with Columns do
begin
with (Add('Items') as EXCOMBOBOXLib.Column) do
begin
Prompt := '<i><fgcolor=808080>Start Filter</fgcolor></i>';
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exPattern;
end;
end;
with Items do
begin
AddItem('A');
AddItem('B');
AddItem('C');
AddItem('AB');
AddItem('AC');
AddItem('BA');
AddItem('BC');
AddItem('CC');
end;
EndUpdate();
end
|
459:
|
What is the equivalent to combo1.text=combo1.list(index) to select a row in the combo

with AxComboBox1 do
begin
Columns.Add('Default');
with Items do
begin
AddItem('A');
AddItem('B');
AddItem('C');
AddItem('D');
end;
set_EditText(TObject(0),'C');
end
|
458:
|
What is the equivalent to combo1.text=combo1.list(index) to select a row in the combo

with AxComboBox1 do
begin
Columns.Add('Default');
with Items do
begin
AddItem('A');
AddItem('B');
AddItem('C');
AddItem('D');
end;
set_EditText(TObject(0),AxComboBox1.Items.CellCaption[TObject(AxComboBox1.Items.ItemByIndex[2]),TObject(0)]);
end
|
457:
|
What is the equivalent to combo1.text=combo1.list(index) to select a row in the combo

with AxComboBox1 do
begin
Columns.Add('Default');
with Items do
begin
AddItem('A');
AddItem('B');
AddItem('C');
AddItem('D');
end;
set_Select(TObject(0),AxComboBox1.Items.CellCaption[TObject(AxComboBox1.Items.ItemByIndex[2]),TObject(0)]);
end
|
456:
|
What is the equivalent to combo1.text=combo1.list(index) to select a row in the combo

with AxComboBox1 do
begin
Columns.Add('Default');
with Items do
begin
AddItem('A');
AddItem('B');
AddItem('C');
AddItem('D');
end;
set_Select(TObject(0),'C');
end
|
455:
|
How can I change the color, font, bold etc for the items/cells in the same column or for the entire column

with AxComboBox1 do
begin
BeginUpdate();
MarkSearchColumn := False;
with ConditionalFormats.Add('1',Nil) do
begin
Bold := True;
ForeColor := $ff;
ApplyTo := EXCOMBOBOXLib.FormatApplyToEnum($1);
end;
Columns.Add('C1');
with (Columns.Add('C2') as EXCOMBOBOXLib.Column) do
begin
HeaderBold := True;
HTMLCaption := '<fgcolor=FF0000>C2';
end;
with Items do
begin
CellCaption[TObject(AddItem(TObject(10))),TObject(1)] := TObject(11);
CellCaption[TObject(AddItem(TObject(12))),TObject(1)] := TObject(13);
end;
EndUpdate();
end
|
454:
|
How can I add a horizontal scroll bar

with AxComboBox1 do
begin
BeginUpdate();
ScrollBySingleLine := True;
ColumnAutoResize := False;
BackColorAlternate := Color.FromArgb(240,240,240);
with (Columns.Add('Default') as EXCOMBOBOXLib.Column) do
begin
Width := 512;
Def[EXCOMBOBOXLib.DefColumnEnum.exCellSingleLine] := TObject(False);
end;
with Items do
begin
AddItem('Exontrol is devoted to create innovative user interface components for Windows applications, on COM or .NET platforms, since 199' +
'9. "eXontrol" comes from e(s)pecial (c)ontrol, where sc makes the X. We are a vendor not a reseller, and this is the single site' +
' where you can try or buy our products. If you are tired of looking for "powerful" components now it''s time to show you real com' +
'ponents. No registration required, no nag screens, no limitations, unlimited evaluation time.');
AddItem('A combo box is a commonly-used GUI tool. It is a combination of a drop-down list or list box and a single-line textbox, allowing' +
' the user either to type a value directly into the control or choose from the list of existing options.');
end;
EndUpdate();
end
|
453:
|
Does the control have the option to have a horizontal scroll to show entries which are longer than the display

with AxComboBox1 do
begin
BeginUpdate();
ColumnAutoResize := False;
(Columns.Add('Default') as EXCOMBOBOXLib.Column).Width := 512;
with Items do
begin
AddItem('Exontrol is devoted to create innovative user interface components for Windows applications, on COM or .NET platforms, since 199' +
'9. "eXontrol" comes from e(s)pecial (c)ontrol, where sc makes the X. We are a vendor not a reseller, and this is the single site' +
' where you can try or buy our products. If you are tired of looking for "powerful" components now it''s time to show you real com' +
'ponents. No registration required, no nag screens, no limitations, unlimited evaluation time.');
AddItem('A combo box is a commonly-used GUI tool. It is a combination of a drop-down list or list box and a single-line textbox, allowing' +
' the user either to type a value directly into the control or choose from the list of existing options.');
end;
EndUpdate();
end
|
452:
|
Is it possible to auto-numbering the children items but still keeps the position after filtering

with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
with (Columns.Add('Items') as EXCOMBOBOXLib.Column) do
begin
DisplayFilterButton := True;
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Child 2';
end;
with (Columns.Add('Pos.1') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '1 ropos ''''';
Position := 0;
Width := 32;
AllowSizing := False;
end;
with (Columns.Add('Pos.2') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '1 ropos '':''';
Position := 1;
Width := 32;
AllowSizing := False;
end;
with (Columns.Add('Pos.3') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '1 ropos '':|A-Z''';
Position := 2;
Width := 32;
AllowSizing := False;
end;
with (Columns.Add('Pos.4') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '1 ropos ''|A-Z|''';
Position := 3;
Width := 32;
AllowSizing := False;
end;
with (Columns.Add('Pos.5') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '''<font Tahoma;7>'' + 1 ropos ''-<b>||A-Z''';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
Position := 4;
Width := 32;
AllowSizing := False;
end;
with (Columns.Add('Pos.6') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '''<b>''+ 1 ropos ''</b>:<fgcolor=FF0000>|A-Z|''';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
Position := 5;
Width := 48;
AllowSizing := False;
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
end;
ApplyFilter();
EndUpdate();
end
|
451:
|
How do I prevent scrolling the control's data after user does the sort

with AxComboBox1 do
begin
EnsureOnSort := False;
Columns.Add('Column');
with Items do
begin
AddItem('Item 3');
AddItem('Item 1');
AddItem('Item 2');
end;
PutItems(GetItems(TObject(0)),Nil);
PutItems(GetItems(TObject(0)),Nil);
PutItems(GetItems(TObject(0)),Nil);
Columns.Item[TObject(0)].SortOrder := EXCOMBOBOXLib.SortOrderEnum.SortAscending;
end
|
450:
|
Is it possible to auto-numbering the children items too

with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
Columns.Add('Items');
with (Columns.Add('Pos.1') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '1 rpos ''''';
Position := 0;
Width := 32;
AllowSizing := False;
end;
with (Columns.Add('Pos.2') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '1 rpos '':''';
Position := 1;
Width := 32;
AllowSizing := False;
end;
with (Columns.Add('Pos.3') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '1 rpos '':|A-Z''';
Position := 2;
Width := 32;
AllowSizing := False;
end;
with (Columns.Add('Pos.4') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '1 rpos ''|A-Z|''';
Position := 3;
Width := 32;
AllowSizing := False;
end;
with (Columns.Add('Pos.5') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '''<font Tahoma;7>'' + 1 rpos ''-<b>||A-Z''';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
Position := 4;
Width := 32;
AllowSizing := False;
end;
with (Columns.Add('Pos.6') as EXCOMBOBOXLib.Column) do
begin
FormatColumn := '''<b>''+ 1 rpos ''</b>:<fgcolor=FF0000>|A-Z|''';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
Position := 5;
Width := 48;
AllowSizing := False;
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
end;
EndUpdate();
end
|
449:
|
How can I show the child items with no identation

with AxComboBox1 do
begin
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exGroupLinesOutside;
Indent := 12;
HasLines := EXCOMBOBOXLib.HierarchyLineEnum.exThinLine;
Columns.Add('Default');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'Child 3');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'Child 3');
end;
end
|
448:
|
Is there other ways of showing the hierarchy lines (exGroupLinesAtRoot)

with AxComboBox1 do
begin
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exGroupLinesAtRoot;
Indent := 12;
Columns.Add('Default');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'Child 3');
ExpandItem[h] := True;
end;
end
|
447:
|
Is there other ways of showing the hierarchy lines (exGroupLinesOutside)

with AxComboBox1 do
begin
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exGroupLinesOutside;
Indent := 12;
Columns.Add('Default');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'Child 3');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'Child 3');
end;
end
|
446:
|
Is there other ways of showing the hierarchy lines (exGroupLinesInsideLeaf)

with AxComboBox1 do
begin
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exGroupLinesInsideLeaf;
Indent := 12;
Columns.Add('Default');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'Child 3');
ExpandItem[h] := True;
end;
end
|
445:
|
Is there other ways of showing the hierarchy lines (exGroupLinesInside)

with AxComboBox1 do
begin
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exGroupLinesInside;
Indent := 12;
Columns.Add('Default');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'Child 3');
ExpandItem[h] := True;
end;
end
|
444:
|
Is there other ways of showing the hierarchy lines (exGroupLines)

with AxComboBox1 do
begin
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exGroupLines;
Indent := 12;
Columns.Add('Default');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(InsertItem(h,Nil,'Child 2'),Nil,'SubChild 2');
InsertItem(h,Nil,'Child 3');
ExpandItem[h] := True;
end;
end
|
443:
|
Is it possible display numbers in the same format no matter of regional settings in the control panel

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Def') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
with Items do
begin
h := AddItem(TObject(100000.27));
FormatCell[TObject(h),TObject(0)] := '(value format '''') + '' <fgcolor=808080>(default positive)''';
h := AddItem(TObject(100000.27));
FormatCell[TObject(h),TObject(0)] := '(value format ''2|.|3|,|1|1'')';
h := AddItem(TObject(-100000.27));
FormatCell[TObject(h),TObject(0)] := '(value format '''') + '' <fgcolor=808080>(default negative)''';
h := AddItem(TObject(-100000.27));
FormatCell[TObject(h),TObject(0)] := '(value format ''2|.|3|,|1|1'')';
end;
EndUpdate();
end
|
442:
|
Is it possible to add a 0 for numbers less than 1 instead .7 to show 0.8

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Def') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
with Items do
begin
h := AddItem(TObject(0.27));
FormatCell[TObject(h),TObject(0)] := '(value format '''') + '' <fgcolor=808080>(default)''';
h := AddItem(TObject(0.27));
FormatCell[TObject(h),TObject(0)] := '(value format ''|||||0'') + '' <fgcolor=808080>(Display no leading zeros)''';
end;
EndUpdate();
end
|
441:
|
How can I specify the format for negative numbers

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Def') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
with Items do
begin
h := AddItem(TObject(-100000.27));
FormatCell[TObject(h),TObject(0)] := '(value format '''') + '' <fgcolor=808080>(default)''';
h := AddItem(TObject(-100000.27));
FormatCell[TObject(h),TObject(0)] := '(value format ''||||1'') + '' <fgcolor=808080>(Negative sign, number; for example, -1.1)''';
end;
EndUpdate();
end
|
440:
|
Is it possible to change the grouping character when display numbers

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Def') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
with Items do
begin
h := AddItem(TObject(100000.27));
FormatCell[TObject(h),TObject(0)] := '(value format '''') + '' <fgcolor=808080>(default)''';
h := AddItem(TObject(100000.27));
FormatCell[TObject(h),TObject(0)] := '(value format ''|||-'') + '' <fgcolor=808080>(grouping character is -)''';
end;
EndUpdate();
end
|
439:
|
How can I display numbers with 2 digits in each group

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Def') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
with Items do
begin
h := AddItem(TObject(100000.27));
FormatCell[TObject(h),TObject(0)] := '(value format '''') + '' <fgcolor=808080>(default)''';
h := AddItem(TObject(100000.27));
FormatCell[TObject(h),TObject(0)] := '(value format ''||2'') + '' <fgcolor=808080>(grouping by 2 digits)''';
end;
EndUpdate();
end
|
438:
|
How can I display my numbers using a different decimal separator

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Def') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
with Items do
begin
h := AddItem(TObject(100.27));
FormatCell[TObject(h),TObject(0)] := '(value format '''') + '' <fgcolor=808080>(default)''';
h := AddItem(TObject(100.27));
FormatCell[TObject(h),TObject(0)] := '(value format ''|;'') + '' <fgcolor=808080>(decimal separator is <b>;</b>)''';
end;
EndUpdate();
end
|
437:
|
Is it possible to display the numbers using 3 (three) digits

with AxComboBox1 do
begin
BeginUpdate();
(Columns.Add('Def') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
with Items do
begin
h := AddItem(TObject(100.27));
FormatCell[TObject(h),TObject(0)] := '(value format '''') + '' <fgcolor=808080>(default)''';
h := AddItem(TObject(100.27));
FormatCell[TObject(h),TObject(0)] := '(value format ''3'') + '' <fgcolor=808080>(3 digits)''';
h := AddItem(TObject(100.27));
FormatCell[TObject(h),TObject(0)] := '(value format 2) + '' <fgcolor=808080>(2 digits)''';
h := AddItem(TObject(100.27));
FormatCell[TObject(h),TObject(0)] := '(value format 1) + '' <fgcolor=808080>(1 digit)''';
end;
EndUpdate();
end
|
436:
|
Is it possible to format numbers

with AxComboBox1 do
begin
BeginUpdate();
MarkSearchColumn := False;
with Columns do
begin
Add('Name');
with (Add('A') as EXCOMBOBOXLib.Column) do
begin
SortType := EXCOMBOBOXLib.SortTypeEnum.SortNumeric;
AllowSizing := False;
Width := 36;
FormatColumn := 'len(value) ? value + '' +''';
end;
with (Add('B') as EXCOMBOBOXLib.Column) do
begin
SortType := EXCOMBOBOXLib.SortTypeEnum.SortNumeric;
AllowSizing := False;
Width := 36;
FormatColumn := 'len(value) ? value + '' +''';
end;
with (Add('C') as EXCOMBOBOXLib.Column) do
begin
SortType := EXCOMBOBOXLib.SortTypeEnum.SortNumeric;
AllowSizing := False;
Width := 36;
FormatColumn := 'len(value) ? value + '' =''';
end;
with (Add('A+B+C') as EXCOMBOBOXLib.Column) do
begin
SortType := EXCOMBOBOXLib.SortTypeEnum.SortNumeric;
Width := 64;
ComputedField := 'dbl(%1)+dbl(%2)+dbl(%3)';
FormatColumn := 'type(value) in (0,1) ? ''null'' : ( dbl(value)<0 ? ''<fgcolor=FF0000>''+ (value format ''2|.|3|,|1'' ) : (dbl(value)>0 ? ''<fgcolor=000' +
'0FF>+''+(value format ''2|.|3|,'' ): ''0.00'') )';
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
end;
end;
with Items do
begin
h := AddItem('Root');
CellCaptionFormat[TObject(h),TObject(4)] := EXCOMBOBOXLib.CaptionFormatEnum.exComputedField;
h1 := InsertItem(h,Nil,'Child 1');
CellCaption[TObject(h1),TObject(1)] := TObject(7);
CellCaption[TObject(h1),TObject(2)] := TObject(3);
CellCaption[TObject(h1),TObject(3)] := TObject(1);
h1 := InsertItem(h,Nil,'Child 2');
CellCaption[TObject(h1),TObject(1)] := TObject(-2);
CellCaption[TObject(h1),TObject(2)] := TObject(-2);
CellCaption[TObject(h1),TObject(3)] := TObject(-4);
h1 := InsertItem(h,Nil,'Child 3');
CellCaption[TObject(h1),TObject(1)] := TObject(2);
CellCaption[TObject(h1),TObject(2)] := TObject(2);
CellCaption[TObject(h1),TObject(3)] := TObject(-4);
ExpandItem[h] := True;
end;
EndUpdate();
end
|
435:
|
Is it possible to limit the height of the item while resizing

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TWinForm1.AxComboBox1_InsertItem(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_InsertItemEvent);
begin
with AxComboBox1 do
begin
Items.ItemMinHeight[e.item] := 18;
Items.ItemMaxHeight[e.item] := 72;
end
end;
with AxComboBox1 do
begin
BeginUpdate();
ItemsAllowSizing := EXCOMBOBOXLib.ItemsAllowSizingEnum.exResizeItem;
ScrollBySingleLine := False;
BackColorAlternate := Color.FromArgb(240,240,240);
Columns.Add('Names');
with Items do
begin
AddItem('Mantel');
AddItem('Mechanik');
AddItem('Motor');
AddItem('Murks');
AddItem('Märchen');
AddItem('Möhren');
AddItem('Mühle');
end;
Columns.Item[TObject(0)].SortOrder := EXCOMBOBOXLib.SortOrderEnum.SortAscending;
EndUpdate();
end
|
434:
|
How can I simulate displaying groups

with AxComboBox1 do
begin
HasLines := EXCOMBOBOXLib.HierarchyLineEnum.exNoLine;
ScrollBySingleLine := True;
with Columns do
begin
Add('Name');
Add('A');
Add('B');
Add('C');
end;
with Items do
begin
h := AddItem('Group 1');
CellHAlignment[TObject(h),TObject(0)] := EXCOMBOBOXLib.AlignmentEnum.CenterAlignment;
ItemDivider[h] := 0;
ItemDividerLineAlignment[h] := EXCOMBOBOXLib.DividerAlignmentEnum.DividerBoth;
ItemHeight[h] := 24;
SortableItem[h] := False;
h1 := InsertItem(h,Nil,'Child 1');
CellCaption[TObject(h1),TObject(1)] := TObject(1);
CellCaption[TObject(h1),TObject(2)] := TObject(2);
CellCaption[TObject(h1),TObject(3)] := TObject(3);
h1 := InsertItem(h,Nil,'Child 2');
CellCaption[TObject(h1),TObject(1)] := TObject(4);
CellCaption[TObject(h1),TObject(2)] := TObject(5);
CellCaption[TObject(h1),TObject(3)] := TObject(6);
ExpandItem[h] := True;
h := AddItem('Group 2');
CellHAlignment[TObject(h),TObject(0)] := EXCOMBOBOXLib.AlignmentEnum.CenterAlignment;
ItemDivider[h] := 0;
ItemDividerLineAlignment[h] := EXCOMBOBOXLib.DividerAlignmentEnum.DividerBoth;
ItemHeight[h] := 24;
SortableItem[h] := False;
h1 := InsertItem(h,Nil,'Child 1');
CellCaption[TObject(h1),TObject(1)] := TObject(1);
CellCaption[TObject(h1),TObject(2)] := TObject(2);
CellCaption[TObject(h1),TObject(3)] := TObject(3);
h1 := InsertItem(h,Nil,'Child 2');
CellCaption[TObject(h1),TObject(1)] := TObject(4);
CellCaption[TObject(h1),TObject(2)] := TObject(5);
CellCaption[TObject(h1),TObject(3)] := TObject(6);
ExpandItem[h] := True;
end;
end
|
433:
|
How can I specify an item to be always the first item

with AxComboBox1 do
begin
BeginUpdate();
TreeColumnIndex := -1;
(Columns.Add('Numbers') as EXCOMBOBOXLib.Column).SortType := EXCOMBOBOXLib.SortTypeEnum.SortNumeric;
with Items do
begin
AddItem(TObject(1));
AddItem(TObject(2));
AddItem(TObject(3));
AddItem(TObject(4));
h := AddItem('first');
ItemPosition[h] := 0;
CellHAlignment[TObject(h),TObject(0)] := EXCOMBOBOXLib.AlignmentEnum.RightAlignment;
SortableItem[h] := False;
SortChildren(0,TObject(0),False);
end;
EndUpdate();
end
|
432:
|
How can I specify an item to be always the last item

with AxComboBox1 do
begin
BeginUpdate();
TreeColumnIndex := -1;
(Columns.Add('Numbers') as EXCOMBOBOXLib.Column).SortType := EXCOMBOBOXLib.SortTypeEnum.SortNumeric;
with Items do
begin
AddItem(TObject(1));
AddItem(TObject(2));
AddItem(TObject(3));
AddItem(TObject(4));
h := AddItem('last');
CellHAlignment[TObject(h),TObject(0)] := EXCOMBOBOXLib.AlignmentEnum.RightAlignment;
SortableItem[h] := False;
SortChildren(0,TObject(0),True);
end;
EndUpdate();
end
|
431:
|
Can I allow sorting only the child items

with AxComboBox1 do
begin
BeginUpdate();
Columns.Add('Childs');
with Items do
begin
h := AddItem('Root 1');
SortableItem[h] := False;
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
SortableItem[h] := False;
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
end;
EndUpdate();
end
|
430:
|
Can I specify a terminal item so it will mark the end of childs

with AxComboBox1 do
begin
BeginUpdate();
ScrollBySingleLine := True;
Columns.Add('P1');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
h := InsertItem(h,'','');
ItemDivider[h] := 0;
ItemDividerLineAlignment[h] := EXCOMBOBOXLib.DividerAlignmentEnum.DividerCenter;
ItemHeight[h] := 2;
SelectableItem[h] := False;
SortableItem[h] := False;
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
h := InsertItem(h,'','');
ItemDivider[h] := 0;
ItemDividerLineAlignment[h] := EXCOMBOBOXLib.DividerAlignmentEnum.DividerCenter;
ItemHeight[h] := 2;
SelectableItem[h] := False;
SortableItem[h] := False;
end;
EndUpdate();
end
|
429:
|
Is it possible to specify an item being unsortable so its position won't be changed after sorting

with AxComboBox1 do
begin
BeginUpdate();
TreeColumnIndex := -1;
(Columns.Add('Numbers') as EXCOMBOBOXLib.Column).SortType := EXCOMBOBOXLib.SortTypeEnum.SortNumeric;
with Items do
begin
AddItem(TObject(1));
AddItem(TObject(2));
AddItem(TObject(3));
AddItem(TObject(4));
h := AddItem('top 3');
ItemPosition[h] := 3;
CellHAlignment[TObject(h),TObject(0)] := EXCOMBOBOXLib.AlignmentEnum.RightAlignment;
SortableItem[h] := False;
SortChildren(0,TObject(0),False);
end;
EndUpdate();
end
|
428:
|
Can I specify an item to be a separator

with AxComboBox1 do
begin
BeginUpdate();
TreeColumnIndex := -1;
SortOnClick := EXCOMBOBOXLib.SortOnClickEnum.exNoSort;
Columns.Add('Numbers');
with Items do
begin
AddItem(TObject(1));
AddItem(TObject(2));
h := AddItem('separator');
SelectableItem[h] := False;
ItemDivider[h] := 0;
ItemDividerLineAlignment[h] := EXCOMBOBOXLib.DividerAlignmentEnum.DividerCenter;
ItemDividerLine[h] := EXCOMBOBOXLib.DividerLineEnum.ThinLine;
CellHAlignment[TObject(h),TObject(0)] := EXCOMBOBOXLib.AlignmentEnum.CenterAlignment;
AddItem(TObject(3));
AddItem(TObject(4));
end;
EndUpdate();
end
|
427:
|
How can I collapse all items

with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
Columns.Add('Items');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[0] := False;
end;
EndUpdate();
end
|
426:
|
How can I expand all items

with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
Columns.Add('Items');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
h := AddItem('Root 2');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[0] := True;
end;
EndUpdate();
end
|
425:
|
Is it possible to specify the cell's value but still want to display some formatted text instead the value

with AxComboBox1 do
begin
BeginUpdate();
MarkSearchColumn := False;
Columns.Add('Value');
Columns.Add('FormatCell');
with Items do
begin
h := AddItem(TObject(1));
CellCaption[TObject(h),TObject(1)] := TObject(12);
FormatCell[TObject(h),TObject(1)] := 'currency(value)';
h := AddItem('1/1/2001');
CellCaption[TObject(h),TObject(1)] := '1/1/2001';
CellCaptionFormat[TObject(h),TObject(1)] := EXCOMBOBOXLib.CaptionFormatEnum.exHTML;
FormatCell[TObject(h),TObject(1)] := 'longdate(value) replace ''2001'' with ''<b>2001</b>''';
end;
EndUpdate();
end
|
424:
|
How can I change the foreground color for a particular column

with AxComboBox1 do
begin
with Columns do
begin
Add('Column 1');
(Add('Column 2') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exHeaderForeColor] := TObject(8439039);
Add('Column 3');
end;
end
|
423:
|
How can I change the background color for a particular column

with AxComboBox1 do
begin
with Columns do
begin
Add('Column 1');
(Add('Column 2') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exHeaderBackColor] := TObject(8439039);
Add('Column 3');
end;
end
|
422:
|
How can I display the column using currency format and enlarge the font for certain values

with AxComboBox1 do
begin
with (Columns.Add('Currency') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
FormatColumn := 'len(value) ? ((0:=dbl(value)) < 10 ? ''<fgcolor=808080><font ;7>'' : ''<b>'') + currency(=:0)';
end;
with Items do
begin
AddItem('1.23');
AddItem('2.34');
AddItem('9.94');
AddItem('11.94');
AddItem('1000');
end;
end
|
421:
|
How can I highlight only parts of the cells

with AxComboBox1 do
begin
with (Columns.Add('') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
FormatColumn := 'value replace ''hil'' with ''<fgcolor=FF0000><b>hil</b></fgcolor>''';
end;
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'Child 3');
ExpandItem[h] := True;
end;
end
|
420:
|
How can I get the number of occurrences of a specified string in the cell

with AxComboBox1 do
begin
Columns.Add('');
with (Columns.Add('occurrences') as EXCOMBOBOXLib.Column) do
begin
ComputedField := 'lower(%0) count ''o''';
FormatColumn := '''contains '' + value + '' of \''o\'' chars''';
end;
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1 oooof the root');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'Child 3');
ExpandItem[h] := True;
end;
end
|
419:
|
How can I display dates in my format

with AxComboBox1 do
begin
with (Columns.Add('Date') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
FormatColumn := '''<b>'' + year(0:=date(value)) + ''</b><fgcolor=808080><font ;6> ('' + month(=:0) + '' - '' + day(=:0) +'')''';
end;
with Items do
begin
AddItem('1/21/2001');
AddItem('2/22/2002');
AddItem('3/13/2003');
AddItem('4/24/2004');
end;
end
|
418:
|
How can I display dates in short format

with AxComboBox1 do
begin
(Columns.Add('Date') as EXCOMBOBOXLib.Column).FormatColumn := 'shortdate(value)';
with Items do
begin
AddItem('1/1/2001');
AddItem('2/2/2002');
AddItem('3/3/2003');
AddItem('4/4/2004');
end;
end
|
417:
|
How can I display dates in long format

with AxComboBox1 do
begin
(Columns.Add('Date') as EXCOMBOBOXLib.Column).FormatColumn := 'longdate(value)';
with Items do
begin
AddItem('1/1/2001');
AddItem('2/2/2002');
AddItem('3/3/2003');
AddItem('4/4/2004');
end;
end
|
416:
|
How can I display only the right part of the cell

with AxComboBox1 do
begin
Columns.Add('');
with (Columns.Add('Right') as EXCOMBOBOXLib.Column) do
begin
ComputedField := '%0 right 2';
FormatColumn := '''"'' + value + ''"''';
end;
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
InsertItem(h,Nil,'SChild 3');
ExpandItem[h] := True;
end;
end
|
415:
|
How can I display true or false instead 0 and -1

with AxComboBox1 do
begin
(Columns.Add('Boolean') as EXCOMBOBOXLib.Column).FormatColumn := 'value != 0 ? ''true'' : ''false''';
with Items do
begin
AddItem(TObject(True));
AddItem(TObject(False));
AddItem(TObject(True));
AddItem(TObject(0));
AddItem(TObject(1));
end;
end
|
414:
|
How can I display icons or images instead numbers

with AxComboBox1 do
begin
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
with (Columns.Add('Icons') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellCaptionFormat] := TObject(1);
FormatColumn := '''The cell displays the icon <img>''+value+''</img> instead '' + value';
end;
with Items do
begin
AddItem(TObject(1));
AddItem(TObject(2));
AddItem(TObject(3));
end;
end
|
413:
|
How can I display the column using currency

with AxComboBox1 do
begin
(Columns.Add('Currency') as EXCOMBOBOXLib.Column).FormatColumn := 'currency(dbl(value))';
with Items do
begin
AddItem('1.23');
AddItem('2.34');
AddItem('0');
AddItem(TObject(5));
AddItem('10000.99');
end;
end
|
412:
|
How can I filter programatically using more columns

with AxComboBox1 do
begin
BeginUpdate();
MarkSearchColumn := False;
with Columns do
begin
Add('Car');
Add('Equipment');
end;
with Items do
begin
CellCaption[TObject(AddItem('Mazda')),TObject(1)] := 'Air Bag';
CellCaption[TObject(AddItem('Toyota')),TObject(1)] := 'Air Bag,Air condition';
CellCaption[TObject(AddItem('Ford')),TObject(1)] := 'Air condition';
CellCaption[TObject(AddItem('Nissan')),TObject(1)] := 'Air Bag,ABS,ESP';
CellCaption[TObject(AddItem('Mazda')),TObject(1)] := 'Air Bag, ABS,ESP';
CellCaption[TObject(AddItem('Mazda')),TObject(1)] := 'ABS,ESP';
end;
with Columns.Item['Car'] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exFilter;
Filter := 'Mazda';
end;
with Columns.Item['Equipment'] do
begin
FilterType := EXCOMBOBOXLib.FilterTypeEnum.exPattern;
Filter := '*ABS*|*ESP*';
end;
ApplyFilter();
EndUpdate();
end
|
411:
|
I need a combobox that supports selecting multiple items, preferably with checkboxes. I can't find an example of how to do this. Does your control support it

// CellStateChanged event - Fired after cell's state has been changed.
procedure TWinForm1.AxComboBox1_CellStateChanged(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_CellStateChangedEvent);
begin
with AxComboBox1 do
begin
LabelText := e.cell;
OutputDebugString( Items.CellCaption[TObject(0),TObject(e.cell)] );
OutputDebugString( Items.CellState[TObject(0),TObject(e.cell)] );
end
end;
with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
IntegralHeight := True;
HeaderVisible := False;
SingleEdit := True;
SearchColumnIndex := -1;
AdjustSearchColumn := False;
(Columns.Add('Language') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
with Items do
begin
AddItem('English');
AddItem('Hebrew');
AddItem('Spanish');
end;
EndUpdate();
end
|
410:
|
How can I display a different caption in the label area, when I click the cell's check box

// CellStateChanged event - Fired after cell's state has been changed.
procedure TWinForm1.AxComboBox1_CellStateChanged(sender: System.Object; e: AxEXCOMBOBOXLib._IComboBoxEvents_CellStateChangedEvent);
begin
with AxComboBox1 do
begin
LabelText := e.cell;
OutputDebugString( Items.CellCaption[TObject(0),TObject(e.cell)] );
OutputDebugString( Items.CellState[TObject(0),TObject(e.cell)] );
end
end;
with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
IntegralHeight := True;
HeaderVisible := False;
SingleEdit := True;
SearchColumnIndex := -1;
AdjustSearchColumn := False;
(Columns.Add('Language') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
with Items do
begin
AddItem('English');
AddItem('Hebrew');
AddItem('Spanish');
end;
LabelText := ' <b>custom</b> text ';
EndUpdate();
end
|
409:
|
How can I display a different caption in the label area

with AxComboBox1 do
begin
BeginUpdate();
Style := EXCOMBOBOXLib.StyleEnum.DropDownList;
IntegralHeight := True;
HeaderVisible := False;
SingleEdit := True;
SearchColumnIndex := -1;
AdjustSearchColumn := False;
(Columns.Add('Language') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
with Items do
begin
AddItem('English');
AddItem('Hebrew');
AddItem('Spanish');
end;
LabelText := ' <b>custom</b> text ';
EndUpdate();
end
|
408:
|
How can I change the background appearance (ebn) for the filter field in the bottom part of the drop down portion

with AxComboBox1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
FilterForVisible := True;
(GetOcx() as EXCOMBOBOXLib.ComboBox).FilterForBackColor := $1000000;
IntegralHeight := True;
Columns.Add('Default');
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
AddItem('Item 4');
AddItem('Item 5');
end;
EndUpdate();
end
|
407:
|
How can I change the background color for the filter field in the bottom part of the drop down portion

with AxComboBox1 do
begin
BeginUpdate();
FilterForVisible := True;
FilterForBackColor := Color.FromArgb(240,240,240);
IntegralHeight := True;
Columns.Add('Default');
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
AddItem('Item 4');
AddItem('Item 5');
end;
EndUpdate();
end
|
406:
|
How can I display a filter field in the bottom part of the drop down portion

with AxComboBox1 do
begin
BeginUpdate();
FilterForVisible := True;
IntegralHeight := True;
Columns.Add('Default');
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
AddItem('Item 4');
AddItem('Item 5');
end;
EndUpdate();
end
|
405:
|
Does your control support RightToLeft property for RTL languages or right to left

with AxComboBox1 do
begin
BeginUpdate();
LinesAtRoot := EXCOMBOBOXLib.LinesAtRootEnum.exLinesAtRoot;
with (Columns.Add('P1') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
PartialCheck := True;
end;
with Items do
begin
h := AddItem('Root');
InsertItem(h,Nil,'Child 1');
InsertItem(h,Nil,'Child 2');
ExpandItem[h] := True;
end;
RightToLeft := True;
EndUpdate();
end
|
404:
|
Is there any way to display the vertical scroll bar on the left side, as I want to align my data to the right

with AxComboBox1 do
begin
BeginUpdate();
with Columns do
begin
Add('C1');
Add('C2');
Add('C3');
Add('C4');
Add('C5');
Add('C6');
Add('C7');
Add('C8');
end;
RightToLeft := True;
EndUpdate();
end
|
403:
|
Can I display the cell's check box after the text

with AxComboBox1 do
begin
with (Columns.Add('Column') as EXCOMBOBOXLib.Column) do
begin
Def[EXCOMBOBOXLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
Def[EXCOMBOBOXLib.DefColumnEnum.exCellDrawPartsOrder] := 'caption,check';
end;
with Items do
begin
CellHasCheckBox[TObject(AddItem('Caption 1')),TObject(0)] := True;
CellHasCheckBox[TObject(AddItem('Caption 2')),TObject(0)] := True;
end;
end
|
402:
|
Can I change the order of the parts in the cell, as checkbox after the text, and so on

with AxComboBox1 do
begin
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
(Columns.Add('Column') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellDrawPartsOrder] := 'caption,check,icon,icons,picture';
with Items do
begin
h := AddItem('Text');
CellImage[TObject(h),TObject(0)] := 1;
CellHasCheckBox[TObject(h),TObject(0)] := True;
end;
end
|
401:
|
Can I have an image displayed after the text. Can I get that effect without using HTML content

with AxComboBox1 do
begin
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
(Columns.Add('Column') as EXCOMBOBOXLib.Column).Def[EXCOMBOBOXLib.DefColumnEnum.exCellDrawPartsOrder] := 'caption,icon,check,icons,picture';
with Items do
begin
h := AddItem('Text');
CellImage[TObject(h),TObject(0)] := 1;
end;
end
|