1065:
FilterBarCaption ALL Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TWinForm1.AxGrid1_AddItem(sender: System.Object; e: AxEXGRIDLib._IGridEvents_AddItemEvent);
begin
	with AxGrid1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[e.item],Nil,Nil);
		Items.CellImage[TObject(e.item),TObject(3)] := i;
	end
end;

with AxGrid1 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 EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Col-2') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Check') as EXGRIDLib.Column) do
	begin
		with Editor do
		begin
			EditType := EXGRIDLib.EditTypeEnum.CheckValueType;
			Option[EXGRIDLib.EditorOptionEnum.exCheckValue2] := TObject(1);
		end;
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGRIDLib.FilterTypeEnum.exCheck;
	end;
	with (Columns.Add('Image') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXGRIDLib.FilterTypeEnum.exImage;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox);
	end;
	with (Columns.Add('Pos') as EXGRIDLib.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellValue[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellValue[TObject(h),TObject(1)] := 'Sub-Item B';
		CellState[TObject(h),TObject(2)] := 1;
		CellValue[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (Font as stdole.StdFont);
	set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[TObject(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
1064:
FilterBarCaption ALL Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TWinForm1.AxGrid1_AddItem(sender: System.Object; e: AxEXGRIDLib._IGridEvents_AddItemEvent);
begin
	with AxGrid1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[e.item],Nil,Nil);
		Items.CellImage[TObject(e.item),TObject(3)] := i;
	end
end;

with AxGrid1 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 EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Col-2') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Check') as EXGRIDLib.Column) do
	begin
		with Editor do
		begin
			EditType := EXGRIDLib.EditTypeEnum.CheckValueType;
			Option[EXGRIDLib.EditorOptionEnum.exCheckValue2] := TObject(1);
		end;
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGRIDLib.FilterTypeEnum.exCheck;
	end;
	with (Columns.Add('Image') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXGRIDLib.FilterTypeEnum.exImage;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox);
	end;
	with (Columns.Add('Pos') as EXGRIDLib.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellValue[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellValue[TObject(h),TObject(1)] := 'Sub-Item B';
		CellState[TObject(h),TObject(2)] := 1;
		CellValue[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (Font as stdole.StdFont);
	set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
	FilterBarCaption := 'all';
	FilterBarPromptVisible := Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[TObject(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
1063:
FilterBarCaption ALLUI Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TWinForm1.AxGrid1_AddItem(sender: System.Object; e: AxEXGRIDLib._IGridEvents_AddItemEvent);
begin
	with AxGrid1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[e.item],Nil,Nil);
		Items.CellImage[TObject(e.item),TObject(3)] := i;
	end
end;

with AxGrid1 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 EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Col-2') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Check') as EXGRIDLib.Column) do
	begin
		with Editor do
		begin
			EditType := EXGRIDLib.EditTypeEnum.CheckValueType;
			Option[EXGRIDLib.EditorOptionEnum.exCheckValue2] := TObject(1);
		end;
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGRIDLib.FilterTypeEnum.exCheck;
	end;
	with (Columns.Add('Image') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXGRIDLib.FilterTypeEnum.exImage;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox);
	end;
	with (Columns.Add('Pos') as EXGRIDLib.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellValue[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellValue[TObject(h),TObject(1)] := 'Sub-Item B';
		CellState[TObject(h),TObject(2)] := 1;
		CellValue[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (Font as stdole.StdFont);
	set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[TObject(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
1062:
FilterBarCaption ALLUI Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TWinForm1.AxGrid1_AddItem(sender: System.Object; e: AxEXGRIDLib._IGridEvents_AddItemEvent);
begin
	with AxGrid1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[e.item],Nil,Nil);
		Items.CellImage[TObject(e.item),TObject(3)] := i;
	end
end;

with AxGrid1 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 EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Col-2') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Check') as EXGRIDLib.Column) do
	begin
		with Editor do
		begin
			EditType := EXGRIDLib.EditTypeEnum.CheckValueType;
			Option[EXGRIDLib.EditorOptionEnum.exCheckValue2] := TObject(1);
		end;
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGRIDLib.FilterTypeEnum.exCheck;
	end;
	with (Columns.Add('Image') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXGRIDLib.FilterTypeEnum.exImage;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox);
	end;
	with (Columns.Add('Pos') as EXGRIDLib.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellValue[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellValue[TObject(h),TObject(1)] := 'Sub-Item B';
		CellState[TObject(h),TObject(2)] := 1;
		CellValue[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (Font as stdole.StdFont);
	set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
	FilterBarCaption := 'allui';
	FilterBarPromptVisible := Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[TObject(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
1061:
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TWinForm1.AxGrid1_AddItem(sender: System.Object; e: AxEXGRIDLib._IGridEvents_AddItemEvent);
begin
	with AxGrid1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[e.item],Nil,Nil);
		Items.CellImage[TObject(e.item),TObject(3)] := i;
	end
end;

with AxGrid1 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 EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Col-2') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Check') as EXGRIDLib.Column) do
	begin
		with Editor do
		begin
			EditType := EXGRIDLib.EditTypeEnum.CheckValueType;
			Option[EXGRIDLib.EditorOptionEnum.exCheckValue2] := TObject(1);
		end;
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGRIDLib.FilterTypeEnum.exCheck;
	end;
	with (Columns.Add('Image') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXGRIDLib.FilterTypeEnum.exImage;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox);
	end;
	with (Columns.Add('Pos') as EXGRIDLib.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellValue[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellValue[TObject(h),TObject(1)] := 'Sub-Item B';
		CellState[TObject(h),TObject(2)] := 1;
		CellValue[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (Font as stdole.StdFont);
	set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[TObject(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
1060:
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TWinForm1.AxGrid1_AddItem(sender: System.Object; e: AxEXGRIDLib._IGridEvents_AddItemEvent);
begin
	with AxGrid1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[e.item],Nil,Nil);
		Items.CellImage[TObject(e.item),TObject(3)] := i;
	end
end;

with AxGrid1 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 EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Col-2') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Check') as EXGRIDLib.Column) do
	begin
		with Editor do
		begin
			EditType := EXGRIDLib.EditTypeEnum.CheckValueType;
			Option[EXGRIDLib.EditorOptionEnum.exCheckValue2] := TObject(1);
		end;
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGRIDLib.FilterTypeEnum.exCheck;
	end;
	with (Columns.Add('Image') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXGRIDLib.FilterTypeEnum.exImage;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox);
	end;
	with (Columns.Add('Pos') as EXGRIDLib.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellValue[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellValue[TObject(h),TObject(1)] := 'Sub-Item B';
		CellState[TObject(h),TObject(2)] := 1;
		CellValue[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (Font as stdole.StdFont);
	set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',TObject(get_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAnd)),Nil,Nil));
	FilterBarCaption := 'value + ` ` + available';
	FilterBarPromptVisible := Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[TObject(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
1059:
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 AxGrid1 do
begin
	BeginUpdate();
	with (Columns.Add('Col-1') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Col-2') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Pos') as EXGRIDLib.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellValue[TObject(AddItem('Item A')),TObject(1)] := 'Sub-Item A';
		CellValue[TObject(AddItem('Item B')),TObject(1)] := 'Sub-Item B';
		CellValue[TObject(AddItem('Item C')),TObject(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (Font as stdole.StdFont);
	set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAnd,FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',TObject(get_Description(EXGRIDLib.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 := EXGRIDLib.FilterBarVisibleEnum.exFilterBarToggle;
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	with Columns.Item[TObject(1)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exPattern;
		Filter := '*B';
	end;
	ApplyFilter();
	EndUpdate();
end
1058:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

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

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

with AxGrid1 do
begin
	BeginUpdate();
	with (Columns.Add('Item') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarShowCloseOnRight) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarToggle);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
1055:
How can I get the number of results/items being shown in the control's filter bar (sample 4)

with AxGrid1 do
begin
	BeginUpdate();
	with (Columns.Add('Item') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGRIDLib.FilterListEnum.exShowExclude) Or Integer(EXGRIDLib.FilterListEnum.exShowFocusItem) Or Integer(EXGRIDLib.FilterListEnum.exShowCheckBox) Or Integer(EXGRIDLib.FilterListEnum.exSortItemsAsc);
	end;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarShowCloseOnRight) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarShowCloseIfRequired) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarCaptionVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	EndUpdate();
end
1054:
How can I get the number of results being shown in the control's filter bar (sample 3)

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarCaptionVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
1053:
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarSingleLine) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarCaptionVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
1052:
How can I get the number of results being shown in the control's filter bar (sample 1)

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarCaptionVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
1051:
FilterBarCaption Predefined Keywords

// AfterExpandItem event - Fired after an item is expanded (collapsed).
procedure TWinForm1.AxGrid1_AfterExpandItem(sender: System.Object; e: AxEXGRIDLib._IGridEvents_AfterExpandItemEvent);
begin
	with AxGrid1 do
	begin
		Refresh();
	end
end;

with AxGrid1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Check') as EXGRIDLib.Column) do
	begin
		with Editor do
		begin
			EditType := EXGRIDLib.EditTypeEnum.CheckValueType;
			Option[EXGRIDLib.EditorOptionEnum.exCheckValue2] := TObject(1);
		end;
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGRIDLib.FilterTypeEnum.exCheck;
	end;
	with (Columns.Add('Pos') as EXGRIDLib.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 := EXGRIDLib.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>`';
	FilterBarPromptPattern := 'B';
	FilterBarPromptVisible := Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarCaptionVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
1050:
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 AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarSingleLine) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
1049:
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarShowCloseOnRight) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarToggle) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	FilterBarPrompt := FormatABC('`<r>` + value',TObject(FilterBarPrompt),Nil,Nil);
	EndUpdate();
end
1048:
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

with AxGrid1 do
begin
	BeginUpdate();
	RightToLeft := True;
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarToggle) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	EndUpdate();
end
1047:
How can I change the visual appearance of the filter bar's close button (EBN)

with AxGrid1 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 EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarToggle) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	set_Background(EXGRIDLib.BackgroundPartEnum.exFooterFilterBarButton,$1000000);
	EndUpdate();
end
1046:
How can I change the visual appearance of the filter bar's close button (solid)

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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 := EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
	set_Background(EXGRIDLib.BackgroundPartEnum.exFooterFilterBarButton,$ff);
	EndUpdate();
end
1045:
Is it possible to prevent definitely showing the filter bar's close button

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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 := EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
	set_Background(EXGRIDLib.BackgroundPartEnum.exFooterFilterBarButton,$ffffffff);
	EndUpdate();
end
1044:
Is it possible to show the close button only if there is a filter applied

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarShowCloseIfRequired) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	EndUpdate();
end
1043:
The control's filter bar is not closed once I click the close button (toggle)

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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[EXGRIDLib.VAlignmentEnum.exBottom] := 1;
		h := LockedItem[EXGRIDLib.VAlignmentEnum.exBottom,0];
		ItemDivider[h] := 0;
		CellValue[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.';
		CellValueFormat[TObject(h),TObject(0)] := EXGRIDLib.ValueFormatEnum.exHTML;
	end;
	FilterBarCaption := '`<r><fgcolor=808080>` + value';
	FilterBarPromptPattern := 'B';
	FilterBarPromptVisible := Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarToggle) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarSingleLine) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
1042:
How can I display the control's filter on a single line

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarSingleLine) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
1041:
How can I display the control's filter on a single line (prompt-combined)

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarCompact) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarSingleLine) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
1040:
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 grid control.
procedure TWinForm1.AxGrid1_ClickEvent(sender: System.Object; e: System.EventArgs);
begin
	with AxGrid1 do
	begin
		ClearFilter();
	end
end;

// FilterChange event - Occurs when filter was changed.
procedure TWinForm1.AxGrid1_FilterChange(sender: System.Object; e: System.EventArgs);
begin
	with AxGrid1 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 AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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 := EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
	FilterBarPromptPattern := 'Item';
	EndUpdate();
end
1039:
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 grid control.
procedure TWinForm1.AxGrid1_ClickEvent(sender: System.Object; e: System.EventArgs);
begin
	with AxGrid1 do
	begin
		ClearFilter();
	end
end;

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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 := EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
	FilterBarPromptPattern := 'B';
	EndUpdate();
end
1038:
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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(EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible) Or Integer(EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible);
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
1037:
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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 := EXGRIDLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
	FilterBarPromptPattern := 'B';
	EndUpdate();
end
1036:
Is it possible to prevent closing the control's filter bar, so it is always shown

with AxGrid1 do
begin
	BeginUpdate();
	(Columns.Add('Item') as EXGRIDLib.Column).DisplayFilterButton := True;
	with (Columns.Add('Pos') as EXGRIDLib.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 := EXGRIDLib.FilterBarVisibleEnum.exFilterBarVisible;
	with Columns.Item[TObject(0)] do
	begin
		FilterType := EXGRIDLib.FilterTypeEnum.exFilter;
		Filter := 'Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
1035:
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)

with AxGrid1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	VisualDesign := 'gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcT' + 
	'SBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCiC' + 
	'QQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4b' + 
	'g2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6N' + 
	'4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhgh' + 
	'WDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkMh' + 
	'Ag6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOgglo' + 
	'Foqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyTK' + 
	'MszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBhF' + 
	'kXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDEg' + 
	'EYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xxS' + 
	'CxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNUB' + 
	'oQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ=';
	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
1034:
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)

with AxGrid1 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 := EXGRIDLib.LinesAtRootEnum.exGroupLinesAtRoot;
	HasButtons := EXGRIDLib.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
1033:
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)

with AxGrid1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'XP:TREEVIEW 2 1');
		Add(2,'XP:TREEVIEW 2 2');
	end;
	set_Background(EXGRIDLib.BackgroundPartEnum.exTreeGlyphOpen,$1000000);
	set_Background(EXGRIDLib.BackgroundPartEnum.exTreeGlyphClose,$2000000);
	LinesAtRoot := EXGRIDLib.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
1032:
How can I find if the control is running in DPI mode
with AxGrid1 do
begin
	OutputDebugString( FormatABC('dpi = 1 ? `normal/stretch mode` : `dpi mode`',Nil,Nil,Nil) );
end
1031:
How can I change the visual appearance of the +/- buttons (method 1)

with AxGrid1 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 := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	set_Background(EXGRIDLib.BackgroundPartEnum.exTreeGlyphOpen,$1000000);
	set_Background(EXGRIDLib.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
1030:
I am using single selection, the question is if possible to select an item only when the user releases the mouse, as currently it selects the item as soon as the user clicks it
// SelectionChanged event - Fired after a new item has been selected.
procedure TWinForm1.AxGrid1_SelectionChanged(sender: System.Object; e: System.EventArgs);
begin
	with AxGrid1 do
	begin
		OutputDebugString( 'SelectionChanged' );
	end
end;

with AxGrid1 do
begin
	BeginUpdate();
	FreezeEvents(True);
	SingleSel := True;
	SelectOnRelease := True;
	(Columns.Add('Column') as EXGRIDLib.Column).FormatColumn := '1 apos `A-Z`';
	with Items do
	begin
		AddItem('');
		SelectItem[AddItem('')] := True;
		AddItem('');
	end;
	FreezeEvents(False);
	EndUpdate();
end
1029:
Is it possible to select nothing
// SelectionChanged event - Fired after a new item has been selected.
procedure TWinForm1.AxGrid1_SelectionChanged(sender: System.Object; e: System.EventArgs);
begin
	with AxGrid1 do
	begin
		OutputDebugString( 'SelectionChanged' );
	end
end;

with AxGrid1 do
begin
	BeginUpdate();
	FreezeEvents(True);
	AllowSelectNothing := True;
	(Columns.Add('Column') as EXGRIDLib.Column).FormatColumn := '1 apos `A-Z`';
	with Items do
	begin
		AddItem('');
		SelectItem[AddItem('')] := True;
		AddItem('');
	end;
	FreezeEvents(False);
	EndUpdate();
end
1028:
How can I specify the color for control's selection when it loses the focus

with AxGrid1 do
begin
	BeginUpdate();
	with (Columns.Add('') as EXGRIDLib.Column) do
	begin
		AllowSizing := False;
		AllowDragging := False;
		AllowSort := False;
		Width := 24;
		Def[EXGRIDLib.DefColumnEnum.exCellHasButton] := TObject(True);
	end;
	(Columns.Add('Column') as EXGRIDLib.Column).FormatColumn := '1 apos `A-Z`';
	with Items do
	begin
		AddItem('');
		SelectItem[AddItem('')] := True;
		AddItem('');
	end;
	set_Background(EXGRIDLib.BackgroundPartEnum.exSelBackColorHide,$c4c4c4);
	set_Background(EXGRIDLib.BackgroundPartEnum.exSelForeColorHide,$10000);
	EndUpdate();
end
1027:
How can I change the background color for checked items (EBN color, frame)

// CellStateChanged event - Fired after cell's state has been changed.
procedure TWinForm1.AxGrid1_CellStateChanged(sender: System.Object; e: AxEXGRIDLib._IGridEvents_CellStateChangedEvent);
begin
	with AxGrid1 do
	begin
		Refresh();
	end
end;

with AxGrid1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	SelBackMode := EXGRIDLib.BackModeEnum.exTransparent;
	DefaultItemHeight := 22;
	with (Columns.Add('Tasks') as EXGRIDLib.Column) do
	begin
		Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
		PartialCheck := True;
	end;
	with VisualAppearance do
	begin
		Add(2,'gBFLBCJwBAEHhEJAAEhABUkIQAAYAQGKIcBiAKBQAGYBIJDEMQ3DjAUBjMK4ZwTC4AIQjCK4JDKHYJRpHEZgLBMJAAGIZYhhUYRUiYMkiJBGGDIDiGGI2SJAcbTVIEcx' + 
	'9EyUJSgSTJOjCMokTTIU4TTLYASbJafJJhWSaAiyMouDIOMg1BDNIw/Hika6jOgKUisNJXRzWIBTbDlOQ3JqnbCjOQRSrQBoNDAMAiiaKlbwJPK9RoieQXfwUAJrXJcF' + 
	'qXFSLVxNBKAQEBA=');
		Add(1,'CP:2 1 1 -1 -1');
	end;
	with ConditionalFormats.Add('%CS0 = 1',Nil) do
	begin
		BackColor := $1000000;
	end;
	HeaderVisible := True;
	with Items do
	begin
		h := AddItem('Project');
		hChild := InsertItem(h,Nil,'Task 1');
		SelectItem[hChild] := True;
		hChild := InsertItem(h,Nil,'Task 2');
		CellState[TObject(hChild),Nil] := 1;
		hChild := InsertItem(h,Nil,'Task 3');
		CellState[TObject(hChild),Nil] := 1;
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
1026:
How can I change the caption of the checked items (sample 2)

with AxGrid1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	with (Columns.Add('Tasks') as EXGRIDLib.Column) do
	begin
		Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
		PartialCheck := True;
		Def[EXGRIDLib.DefColumnEnum.exCellValueFormat] := TObject(1);
		FormatColumn := '%CS0 = 1 ? `<bgcolor=000000><fgcolor=FFFFFF> ` + value + ` </fgcolor></bgcolor>` : value';
	end;
	HeaderVisible := True;
	with Items do
	begin
		h := AddItem('Project');
		hChild := InsertItem(h,Nil,'Task 1');
		SelectItem[hChild] := True;
		hChild := InsertItem(h,Nil,'Task 2');
		CellState[TObject(hChild),Nil] := 1;
		hChild := InsertItem(h,Nil,'Task 3');
		CellState[TObject(hChild),Nil] := 1;
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
1025:
How can I change the caption of the checked items (sample 1)

with AxGrid1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	with (Columns.Add('Tasks') as EXGRIDLib.Column) do
	begin
		Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
		PartialCheck := True;
		Def[EXGRIDLib.DefColumnEnum.exCellValueFormat] := TObject(1);
		FormatColumn := 'value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)';
	end;
	HeaderVisible := True;
	with Items do
	begin
		h := AddItem('Project');
		hChild := InsertItem(h,Nil,'Task 1');
		SelectItem[hChild] := True;
		hChild := InsertItem(h,Nil,'Task 2');
		CellState[TObject(hChild),Nil] := 1;
		hChild := InsertItem(h,Nil,'Task 3');
		CellState[TObject(hChild),Nil] := 1;
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
1024:
How can I change the font for the checked items

// CellStateChanged event - Fired after cell's state has been changed.
procedure TWinForm1.AxGrid1_CellStateChanged(sender: System.Object; e: AxEXGRIDLib._IGridEvents_CellStateChangedEvent);
begin
	with AxGrid1 do
	begin
		Refresh();
	end
end;

with AxGrid1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	DefaultItemHeight := 22;
	with (Columns.Add('Tasks') as EXGRIDLib.Column) do
	begin
		Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
		PartialCheck := True;
	end;
	with ConditionalFormats.Add('%CS0 = 1',Nil) do
	begin
		f := (ComObj.CreateComObject(ComObj.ProgIDToClassID('StdFont')) as stdole.StdFont);
		with f do
		begin
			Name := AxGrid1.Font.Name;
			Size := 12;
		end;
		Font := (f as stdole.StdFont);
	end;
	HeaderVisible := True;
	with Items do
	begin
		h := AddItem('Project');
		hChild := InsertItem(h,Nil,'Task 1');
		SelectItem[hChild] := True;
		hChild := InsertItem(h,Nil,'Task 2');
		CellState[TObject(hChild),Nil] := 1;
		hChild := InsertItem(h,Nil,'Task 3');
		CellState[TObject(hChild),Nil] := 1;
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
1023:
How can I bold the checked items

// CellStateChanged event - Fired after cell's state has been changed.
procedure TWinForm1.AxGrid1_CellStateChanged(sender: System.Object; e: AxEXGRIDLib._IGridEvents_CellStateChangedEvent);
begin
	with AxGrid1 do
	begin
		Refresh();
	end
end;

with AxGrid1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	with (Columns.Add('Tasks') as EXGRIDLib.Column) do
	begin
		Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
		PartialCheck := True;
	end;
	with ConditionalFormats.Add('%CS0 = 1',Nil) do
	begin
		Bold := True;
	end;
	HeaderVisible := True;
	with Items do
	begin
		h := AddItem('Project');
		hChild := InsertItem(h,Nil,'Task 1');
		SelectItem[hChild] := True;
		hChild := InsertItem(h,Nil,'Task 2');
		CellState[TObject(hChild),Nil] := 1;
		hChild := InsertItem(h,Nil,'Task 3');
		CellState[TObject(hChild),Nil] := 1;
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
1022:
How can I change the foreground color for checked items

// CellStateChanged event - Fired after cell's state has been changed.
procedure TWinForm1.AxGrid1_CellStateChanged(sender: System.Object; e: AxEXGRIDLib._IGridEvents_CellStateChangedEvent);
begin
	with AxGrid1 do
	begin
		Refresh();
	end
end;

with AxGrid1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	SelBackMode := EXGRIDLib.BackModeEnum.exTransparent;
	with (Columns.Add('Tasks') as EXGRIDLib.Column) do
	begin
		Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
		PartialCheck := True;
	end;
	with ConditionalFormats.Add('%CS0 = 1',Nil) do
	begin
		ForeColor := $8080ff;
	end;
	HeaderVisible := True;
	with Items do
	begin
		h := AddItem('Project');
		hChild := InsertItem(h,Nil,'Task 1');
		SelectItem[hChild] := True;
		hChild := InsertItem(h,Nil,'Task 2');
		CellState[TObject(hChild),Nil] := 1;
		hChild := InsertItem(h,Nil,'Task 3');
		CellState[TObject(hChild),Nil] := 1;
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
1021:
How can I change the background color for checked items (solid color)

// CellStateChanged event - Fired after cell's state has been changed.
procedure TWinForm1.AxGrid1_CellStateChanged(sender: System.Object; e: AxEXGRIDLib._IGridEvents_CellStateChangedEvent);
begin
	with AxGrid1 do
	begin
		Refresh();
	end
end;

with AxGrid1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	SelBackMode := EXGRIDLib.BackModeEnum.exTransparent;
	with (Columns.Add('Tasks') as EXGRIDLib.Column) do
	begin
		Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
		PartialCheck := True;
	end;
	with ConditionalFormats.Add('%CS0 = 1',Nil) do
	begin
		BackColor := $8080ff;
	end;
	HeaderVisible := True;
	with Items do
	begin
		h := AddItem('Project');
		hChild := InsertItem(h,Nil,'Task 1');
		SelectItem[hChild] := True;
		hChild := InsertItem(h,Nil,'Task 2');
		CellState[TObject(hChild),Nil] := 1;
		hChild := InsertItem(h,Nil,'Task 3');
		CellState[TObject(hChild),Nil] := 1;
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
1020:
How can I export the cell's state as well

with AxGrid1 do
begin
	BeginUpdate();
	with Columns do
	begin
		(Add('C1') as EXGRIDLib.Column).Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
		(Add('C2') as EXGRIDLib.Column).FormatColumn := '1 index `A-Z`';
		(Add('C3') as EXGRIDLib.Column).FormatColumn := '100 index ``';
	end;
	with Items do
	begin
		AddItem('Item 1');
		CellState[TObject(AddItem('Item 2')),Nil] := 1;
		CellState[TObject(AddItem('Item 3')),Nil] := 1;
	end;
	EndUpdate();
	OutputDebugString( 'Export CSV Items including Check-State:' );
	BeginUpdate();
	with (Columns.Add('Check') as EXGRIDLib.Column) do
	begin
		Position := 0;
		FormatColumn := '%CS0';
	end;
	OutputDebugString( Export('',Nil) );
	Columns.Remove('Check');
	EndUpdate();
end
1019:
Is it possible to customize the editor selection colour of the built in text editor, from standard blue to black

with AxGrid1 do
begin
	BeginUpdate();
	SelBackColor := Color.FromArgb(0,0,0);
	SelForeColor := Color.FromArgb(255,255,255);
	with (Columns.Add('Edit') as EXGRIDLib.Column).Editor do
	begin
		EditType := EXGRIDLib.EditTypeEnum.MaskType;
		Mask := ';;;rich';
	end;
	with Items do
	begin
		AddItem('');
		AddItem('Just a text');
		AddItem('');
	end;
	EndUpdate();
end
1018:
Is it possible to customize the editor selection colour of the built in dropdown editor, from standard blue to black

with AxGrid1 do
begin
	BeginUpdate();
	SelBackColor := Color.FromArgb(0,0,0);
	SelForeColor := Color.FromArgb(255,255,255);
	with (Columns.Add('DropDown') as EXGRIDLib.Column).Editor do
	begin
		AddItem(1,'This is just the first item',Nil);
		AddItem(2,'This is just the second item',Nil);
		AddItem(3,'This is just the third item',Nil);
		EditType := EXGRIDLib.EditTypeEnum.DropDownType;
		Mask := ';;;rich';
	end;
	with Items do
	begin
		AddItem('');
		AddItem('Just a text');
		AddItem('');
	end;
	EndUpdate();
end
1017:
The BeforeExpandItem event is fired when clicking the drop down filter button. What we can do to prevent that
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
procedure TWinForm1.AxGrid1_BeforeExpandItem(sender: System.Object; e: AxEXGRIDLib._IGridEvents_BeforeExpandItemEvent);
begin
	with AxGrid1 do
	begin
		OutputDebugString( 'BeforeExpandItem' );
		OutputDebugString( e.item );
		OutputDebugString( 'ColumnFromPoint' );
		OutputDebugString( get_ColumnFromPoint(-1,-1) );
		OutputDebugString( 'ColumnFromPoint return -1, if the user clicks the +/- glitch, else it returns the index of the column where the click occurs.' );
		Items.InsertItem(e.item,Nil,'new child');
	end
end;

with AxGrid1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	with Columns do
	begin
		(Add('Items') as EXGRIDLib.Column).DisplayFilterButton := True;
	end;
	with Items do
	begin
		ItemHasChildren[InsertItem(Nil,Nil,'Group 1')] := True;
		ItemHasChildren[InsertItem(Nil,Nil,'Group 2')] := True;
	end;
	EndUpdate();
end
1016:
How do I change the drop down filter icon/button (black)

with AxGrid1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQg' + 
	'mPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThd' + 
	'r4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA');
	end;
	set_Background(EXGRIDLib.BackgroundPartEnum.exHeaderFilterBarButton,$1000000);
	set_Background(EXGRIDLib.BackgroundPartEnum.exCursorHoverColumn,$ffffffff);
	HeaderAppearance := EXGRIDLib.AppearanceEnum.None2;
	BackColorHeader := Color.FromArgb(0,0,0);
	ForeColorHeader := Color.FromArgb(255,255,255);
	HeaderVisible := True;
	with (Columns.Add('Filter') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		AllowSort := False;
		AllowDragging := False;
	end;
	EndUpdate();
end
1015:
How do I change the drop down filter icon/button (white)

with AxGrid1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(2,'gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ' + 
	'0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YN' + 
	'YuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4h' + 
	'hKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgb' + 
	'hOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWB' + 
	'MJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=');
		Add(1,'CP:2 -4 -4 2 4');
	end;
	set_Background(EXGRIDLib.BackgroundPartEnum.exHeaderFilterBarButton,$1000000);
	set_Background(EXGRIDLib.BackgroundPartEnum.exCursorHoverColumn,BackColor);
	HeaderAppearance := EXGRIDLib.AppearanceEnum.None2;
	HeaderHeight := 24;
	BackColorHeader := Color.FromArgb(255,255,255);
	HeaderVisible := True;
	with (Columns.Add('Filter') as EXGRIDLib.Column) do
	begin
		DisplayFilterButton := True;
		AllowSort := False;
		AllowDragging := False;
	end;
	EndUpdate();
end
1014:
How can I draw a solid frame around the the focusing item

with AxGrid1 do
begin
	BeginUpdate();
	SingleSel := False;
	DefaultItemHeight := 20;
	with VisualAppearance do
	begin
		RenderType := -1;
		Add(1,'gBFLBCJwBAEHhEJAAEhABOkGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEwpFAZBhgeDYMiSNoYDJCM4wHI' + 
	'URRJFCUJSGWQpTgSIgyT5HFIxXKoASbJabZLhWS6EpWOotTbIQQRYCkEyfKKfZyGURZQqOKA1DBZErWTJESRFJqLazgO4LAhyQYrVgAErzVKVCRNOqbJzADApdpGQJTU' + 
	'LDNTQHRFIyhOSnIRrWbMAhid6JUZiVT4dBOIYhSYANAqCwLFqrDJmWrpV5WZjlZ47V6BdAyXJsIrmFJEXaOGhyDDlGybSDZYryfZhUziUw4XjbWwZDqPF6DKTTdSGLRE' + 
	'E8WZVlURZvDaep3C+AY8kAYRgGCCBJECUhjDoHROEYWgoAGTQ1CEEx9lGMY0CQUYSnuZQDBGBYFlOH5+H+igGAKAJgEgFgGgGVgDn4CoCmCSA2A6A5hAgDgQgSYRIE4E' + 
	'oFGGCBiBeBhhkgPgbgcYgICoH4IGGWIOCSBhiGiHgVgoYooFoAoLGIWI+DCCgjCiTgrgII4ImYOoOmOSJ2AYOpWlQDQBICA=');
	end;
	ShowFocusRect := True;
	set_Background(EXGRIDLib.BackgroundPartEnum.exShowFocusRect,$1000000);
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	with (Columns.Add('P1') as EXGRIDLib.Column) do
	begin
		Def[EXGRIDLib.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;
	EndUpdate();
end
1013:
The frame around the focusing item is not very clear. Can I show it larger or more cleared (sample 2)

with AxGrid1 do
begin
	BeginUpdate();
	SingleSel := False;
	DefaultItemHeight := 20;
	ShowFocusRect := True;
	with VisualAppearance do
	begin
		RenderType := -1;
		Add(2,'gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEwpFAZBhgeCRUgyJI3RgMUIzVA' + 
	'cRRFEiUJQlIZZCjOAw0SIMU7xZRcNxsACnaZnCR4NiuRYiUhOcqzRIQIQ4CiEahqOgJbDUJYwWZKAyjBY8XTZFCSJCpeJ6egOc5jRxQUp1WAEXx3GSsJKvCZ5cADBY+V' + 
	'LQNS0JBtMSTKSLaiuWoIJqCPaDRheWKQJh1NSnLqEcjyYANDxDCZlWzAYxWTZ2Uz7N7PbB0HY4DyPGKZYrfESVRbQcZNS6nNigPI9XhfGq6VjRe63ZaOaYpWrnOJqTRW' + 
	'jOKYujWdZ2BGO5lkuBAAkmcQkDmDBEAwEQJCgGhMGcQ4pkiSxGAAOYmkQIhvkYNg2gSCgyj+LI4GIMIwF2XQoAYAoAmASAWAaAZgggJgKFiT54DYDoDmECBGBKBJgGgT' + 
	'gWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChiigYgsgsYYYBYMIKCMKJOCuDRjGiOgLg6Y5InYPoPmQCAkmsXAQDQBCAg=');
		Add(3,'CP:2 -3 0 3 0');
	end;
	set_Background(EXGRIDLib.BackgroundPartEnum.exShowFocusRect,$3010101);
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	with (Columns.Add('P1') as EXGRIDLib.Column) do
	begin
		Def[EXGRIDLib.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;
	EndUpdate();
end
1012:
The frame around the focusing item is not very clear. Can I show it larger or more cleared (sample 1)

with AxGrid1 do
begin
	BeginUpdate();
	SingleSel := False;
	ShowFocusRect := True;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAAEhABHoDg6AADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASVA' + 
	'ceAAGaUZrjSgobjmOYhAJCLqhYIgASXJqLaBlOCaAieSc+QhjQJIJoeCZXU5TFg1BTsOhqEqcRiseaRVDCaIJWzbdYWLDdNQHHKYLjnWorbpSJZ5XjNEySDQkMS9PrEJ' + 
	'7vST8FBCdAABLJUB2BR9RwxRafKpnWwJDpmCaOQLXEB5DK1PyVMTKYrtGy7GrIAJxWxbV4UHh+QABOzIMAvHKJMwvHYcUZne5XVLeF41HbONogPaJZyIAK2cLROq6Xo7' + 
	'GEcJZEcLASB4DwvgWUZlE6AQQhKAYkkYdA6hyDIwHgSoqFwQgmnsYxjGgSIiBOTpSEiAwRgOJI7j4JAHA6U5wm0MpPlOBIjD8TZiGYCICiCGAuA6AxhAgMgSgOYQ4DYB' + 
	'g/g6cw1n+ABOmMMJ9DmCwjnScw4RsVJngkYh4hoKIKmKKI2CmC5ikiQgqgiT5jhyMw8g4QwIn0OIKEiCJhD8DwTGyfA7k0WQOEWEQkGkJhIhKZB5DYSoTiSCQEn4PQOC' + 
	'OXJcCeIJjliaIQk0aRyF4O5llmAhfhgZhJg4ZoYiaAxYn4PZOhOZJaCUZYTiYQw1mcOZUm+HQnHmWh4h6Z4pnYeYfk0eYsmqG4nAgNJ2DqD5DkCWoiGiOgqgyI5omoRo' + 
	'NiSaQKFKEojCaM4ugSFhOjkAJcieKgDkaH4oioGoOiaKRqgqEoqDddwyhuAxPgOMJ8DyDZqk6NYtCsapmjiLprHqdo6i+K5K1oPhOlqPgKD4DpjnII4yiOewuk6MxtAs' + 
	'MpSjObQ7EaT4wk6ewYn0PgPAiCJkjeLgDk6X44i4G4OmaORuguEpqDkLAzkaWg+E8GIUmaPIvEOVpzj2Lxbl6eo+G+S5in4OYPmOaJyjuTwjnYWpBg6DAjAqQZwkwJwN' + 
	'kKcJsEcEJCDBEpaD6Dw8BiapGjGSgfB2RpxmyBwgkicZ8haBw/g+M5TBcPQPlOXJskscp8jsMJMnMLJXDGTZzEyYw2kwMoDlcFw9i2M4/EGUJPg0CxFlENBtCcSJSnQf' + 
	'Q0m+SgPHsaJ7lALZLG6XZVHWDRfFqVY1k0ZxdladYTnifJUGaeAWAeMnSGcGWgBObJ3lWbwdjKW5cHcTZPHaLkN4GxXDlFqFsA4uRbBOGAFAEIzAsDEFOBkfYqR4D6AO' + 
	'BEYo8QuBvAmMceInBDgcD0JwOIqQyJ1DMAwG4IANDnHSMoK4QhOgMBGNEIQvQWAdGenETIswGiddsAAQAgCAgA==');
		Add(2,'gBFLBCJwBAEHhEJAAEhABeEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADDFIBQSLAYROGSDJBGODJDjWGIeQLOEhQHI' + 
	'MRxPE6UYLhWYpBDKPYcUbGc7yBBMVwGf59XzACoKSheQIVSDQkw6Fo6NYhAxHALyNRkBy8f60KjtGpodDUJYvW5JYyjBZ8EznOqbJBkeJ7BgOe5NQjaD72VgdWQJFSWJ' + 
	'ajWYYJDOJY2ZAAE5TVINEwxJbDaylChIdxaF6WAzZEBhBYoATPNLBMrhWqKDw2XaQWBCOgwHYeR5LU7BdRwbIrRq2eAAXbcVyXfDddZlBK+QA0SK9lRVTKvJZmKgBWw1' + 
	'COSxmAAGw4kcNx1iKFBiCAfQsG8lJemucg7nsXpUHOOxrm+DI3jOH4XAOBx2nscw0j2HhPG4L5uGEVIECQCBCEUAYkGMHQHFGSBlGaAxkEgQgTGCVBsDYQhCgQJZrHKU' + 
	'ggGEShkFGNgIlsNpPnMHJHD+TADAIJIJiIWIeCqChikiIgmgiD5zHyXxgiACJKCuC4jHiZgtg6I4IlkCQwkwOIonMPJjEkFhGhGZBpA4KoMBCGJuEiE5lAkGg7hMY4JE' + 
	'YVoUCUNAOE6FZl0KWQACWOR2GKF5mBmChchkJRZhoXYaCKKYqGuDglEmNhuhWZpIiYc4dCcCRqGmHZlgm2YxAwSQKESHwkFkKgpiAIAIH4PIimOOg2DiChoiQJRRD+TZ' + 
	'DHCfwyAyCgyg+JpiioYJ/DgDgIlECQ6lwRAEICA=');
		Add(3,'CP:2 -2 0 2 0');
	end;
	(GetOcx() as EXGRIDLib.Grid).SelBackColor := $1000000;
	SelForeColor := Color.FromArgb(0,0,0);
	set_Background(EXGRIDLib.BackgroundPartEnum.exShowFocusRect,$3ff0000);
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
	with (Columns.Add('P1') as EXGRIDLib.Column) do
	begin
		Def[EXGRIDLib.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;
	EndUpdate();
end
1011:
I have a column right-aligned. How can I display its check box aligned to the right, as it appears to the left of the cell's caption

with AxGrid1 do
begin
	BeginUpdate();
	ColumnAutoResize := True;
	DrawGridLines := EXGRIDLib.GridLinesEnum.exVLines;
	with Columns do
	begin
		with (Add('Left') as EXGRIDLib.Column) do
		begin
			AllowSizing := False;
			Width := 96;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			FormatColumn := '0 pos `A-Z`';
		end;
		with (Add('Center') as EXGRIDLib.Column) do
		begin
			HeaderAlignment := EXGRIDLib.AlignmentEnum.CenterAlignment;
			Alignment := HeaderAlignment;
			AllowSizing := False;
			Width := 96;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			FormatColumn := '0 pos `A-Z`';
		end;
		with (Add('Right') as EXGRIDLib.Column) do
		begin
			HeaderAlignment := EXGRIDLib.AlignmentEnum.RightAlignment;
			Alignment := HeaderAlignment;
			AllowSizing := False;
			Width := 96;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			FormatColumn := '0 pos `A-Z`';
			Def[EXGRIDLib.DefColumnEnum.exCellDrawPartsOrder] := 'caption,check,icon,icons,picture';
		end;
		Add('');
	end;
	with Items do
	begin
		CellState[TObject(AddItem('Item 1')),TObject(3)] := 1;
		CellState[TObject(AddItem('Item 2')),TObject(2)] := 1;
		CellState[TObject(AddItem('Item 3')),TObject(1)] := 1;
	end;
	EndUpdate();
end
1010:
Can I display the column's multiple-lines caption vertically oriented (method 2)

with AxGrid1 do
begin
	BeginUpdate();
	HeaderHeight := 48;
	ColumnAutoResize := True;
	with Columns do
	begin
		Add('And others ...');
		with (Add('') as EXGRIDLib.Column) do
		begin
			HTMLCaption := 'First Column';
			HeaderVertical := True;
			Width := 36;
			AllowSizing := False;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			Def[EXGRIDLib.DefColumnEnum.exCellPaddingLeft] := TObject(8);
			Position := 0;
		end;
		with (Add('') as EXGRIDLib.Column) do
		begin
			HTMLCaption := '<c><b>Second Column';
			HeaderVertical := True;
			Width := 36;
			AllowSizing := False;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			Def[EXGRIDLib.DefColumnEnum.exCellPaddingLeft] := TObject(8);
			Position := 1;
		end;
		with (Add('') as EXGRIDLib.Column) do
		begin
			HTMLCaption := '<r>Third Column';
			HeaderVertical := True;
			Width := 36;
			AllowSizing := False;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			Def[EXGRIDLib.DefColumnEnum.exCellPaddingLeft] := TObject(8);
			Position := 2;
		end;
	end;
	with Items do
	begin
		CellState[TObject(AddItem('Item 1')),TObject(3)] := 1;
		CellState[TObject(AddItem('Item 2')),TObject(2)] := 1;
		CellState[TObject(AddItem('Item 3')),TObject(1)] := 1;
	end;
	EndUpdate();
end
1009:
Can I display the column's multiple-lines caption vertically oriented (method 1)

with AxGrid1 do
begin
	BeginUpdate();
	HeaderHeight := 48;
	HeaderSingleLine := False;
	ColumnAutoResize := True;
	with Columns do
	begin
		Add('And others ...');
		with (Add('First Column') as EXGRIDLib.Column) do
		begin
			HeaderVertical := True;
			Width := 36;
			AllowSizing := False;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			Def[EXGRIDLib.DefColumnEnum.exCellPaddingLeft] := TObject(8);
			Position := 0;
		end;
		with (Add('Second Column') as EXGRIDLib.Column) do
		begin
			HeaderBold := True;
			HeaderVertical := True;
			Width := 36;
			AllowSizing := False;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			Def[EXGRIDLib.DefColumnEnum.exCellPaddingLeft] := TObject(8);
			Position := 1;
		end;
		with (Add('Third Column') as EXGRIDLib.Column) do
		begin
			HeaderVertical := True;
			Width := 36;
			AllowSizing := False;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			Def[EXGRIDLib.DefColumnEnum.exCellPaddingLeft] := TObject(8);
			Position := 2;
		end;
	end;
	with Items do
	begin
		CellState[TObject(AddItem('Item 1')),TObject(3)] := 1;
		CellState[TObject(AddItem('Item 2')),TObject(2)] := 1;
		CellState[TObject(AddItem('Item 3')),TObject(1)] := 1;
	end;
	EndUpdate();
end
1008:
Can I display the column's caption vertically oriented (method 2)

with AxGrid1 do
begin
	BeginUpdate();
	HeaderHeight := 48;
	ColumnAutoResize := True;
	with Columns do
	begin
		Add('And others ...');
		with (Add('') as EXGRIDLib.Column) do
		begin
			HTMLCaption := 'First';
			HeaderVertical := True;
			Width := 20;
			AllowSizing := False;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			Position := 0;
		end;
		with (Add('') as EXGRIDLib.Column) do
		begin
			HTMLCaption := '<c><b>Second';
			HeaderVertical := True;
			Width := 20;
			AllowSizing := False;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			Position := 1;
		end;
		with (Add('') as EXGRIDLib.Column) do
		begin
			HTMLCaption := '<r>Third';
			HeaderVertical := True;
			Width := 20;
			AllowSizing := False;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			Position := 2;
		end;
	end;
	with Items do
	begin
		CellState[TObject(AddItem('Item 1')),TObject(3)] := 1;
		CellState[TObject(AddItem('Item 2')),TObject(2)] := 1;
		CellState[TObject(AddItem('Item 3')),TObject(1)] := 1;
	end;
	EndUpdate();
end
1007:
Can I display the column's caption vertically oriented (method 1)

with AxGrid1 do
begin
	BeginUpdate();
	HeaderHeight := 48;
	ColumnAutoResize := True;
	with Columns do
	begin
		Add('And others ...');
		with (Add('First') as EXGRIDLib.Column) do
		begin
			HeaderVertical := True;
			Width := 20;
			AllowSizing := False;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			Position := 0;
		end;
		with (Add('Second') as EXGRIDLib.Column) do
		begin
			HeaderBold := True;
			HeaderVertical := True;
			Width := 20;
			AllowSizing := False;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			Position := 1;
		end;
		with (Add('Third') as EXGRIDLib.Column) do
		begin
			HeaderVertical := True;
			Width := 20;
			AllowSizing := False;
			Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
			Position := 2;
		end;
	end;
	with Items do
	begin
		CellState[TObject(AddItem('Item 1')),TObject(3)] := 1;
		CellState[TObject(AddItem('Item 2')),TObject(2)] := 1;
		CellState[TObject(AddItem('Item 3')),TObject(1)] := 1;
	end;
	EndUpdate();
end
1006:
How do I automatically bold items being checked

// CellStateChanged event - Fired after cell's state has been changed.
procedure TWinForm1.AxGrid1_CellStateChanged(sender: System.Object; e: AxEXGRIDLib._IGridEvents_CellStateChangedEvent);
begin
end;

with AxGrid1 do
begin
	BeginUpdate();
	SelBackMode := EXGRIDLib.BackModeEnum.exTransparent;
	with ConditionalFormats.Add('%CS0','check') do
	begin
		Bold := True;
	end;
	(Columns.Add('Items') as EXGRIDLib.Column).Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
	(Columns.Add(AxGrid1.ConditionalFormats.Item['check'].Expression) as EXGRIDLib.Column).FormatColumn := AxGrid1.ConditionalFormats.Item['check'].Expression;
	with Items do
	begin
		AddItem('Item 1');
		CellState[TObject(AddItem('Item 2')),TObject(0)] := 1;
		AddItem('Item 3');
	end;
	EndUpdate();
end
1005:
How can I use the CellState with ConditionalFormat/ComputedField/FormatColumn

// CellStateChanged event - Fired after cell's state has been changed.
procedure TWinForm1.AxGrid1_CellStateChanged(sender: System.Object; e: AxEXGRIDLib._IGridEvents_CellStateChangedEvent);
begin
end;

with AxGrid1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGRIDLib.LinesAtRootEnum.exGroupLinesInsideLeaf;
	SelBackMode := EXGRIDLib.BackModeEnum.exTransparent;
	with (Columns.Add('Items') as EXGRIDLib.Column) do
	begin
		Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
		PartialCheck := True;
	end;
	with (Columns.Add('Format') as EXGRIDLib.Column) do
	begin
		FormatColumn := '%CS0';
		Caption := FormatColumn;
		Def[EXGRIDLib.DefColumnEnum.exCellForeColor] := TObject(8421504);
		Def[EXGRIDLib.DefColumnEnum.exHeaderForeColor] := Def[EXGRIDLib.DefColumnEnum.exCellForeColor];
	end;
	with Items do
	begin
		h := AddItem('Root');
		InsertItem(h,Nil,'Item 1');
		CellState[TObject(InsertItem(h,Nil,'Item 2')),TObject(0)] := 1;
		CellState[TObject(InsertItem(h,Nil,'Item 3')),TObject(0)] := 1;
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
1004:
How can I use the CellData with ConditionalFormat/ComputedField/FormatColumn

with AxGrid1 do
begin
	BeginUpdate();
	Columns.Add('Items');
	with (Columns.Add('Format') as EXGRIDLib.Column) do
	begin
		FormatColumn := '%CD0';
		Caption := FormatColumn;
		Def[EXGRIDLib.DefColumnEnum.exCellForeColor] := TObject(8421504);
		Def[EXGRIDLib.DefColumnEnum.exHeaderForeColor] := Def[EXGRIDLib.DefColumnEnum.exCellForeColor];
	end;
	with Items do
	begin
		CellData[TObject(AddItem('Item 1')),TObject(0)] := TObject(1234);
		CellData[TObject(AddItem('Item 2')),TObject(0)] := 'this is just an user data';
		CellData[TObject(AddItem('Item 3')),TObject(0)] := '1/1/2001';
	end;
	EndUpdate();
end
1003:
How can I use the CellValue/CellCaption with ConditionalFormat/ComputedField/FormatColumn

with AxGrid1 do
begin
	BeginUpdate();
	with (Columns.Add('Items') as EXGRIDLib.Column) do
	begin
		with Editor do
		begin
			EditType := EXGRIDLib.EditTypeEnum.DropDownListType;
			AddItem(1,'Item 1',Nil);
			AddItem(2,'Item 2',Nil);
			AddItem(3,'Item 3',Nil);
		end;
	end;
	with (Columns.Add('Format') as EXGRIDLib.Column) do
	begin
		FormatColumn := '%0';
		Caption := FormatColumn;
		Def[EXGRIDLib.DefColumnEnum.exCellForeColor] := TObject(8421504);
		Def[EXGRIDLib.DefColumnEnum.exHeaderForeColor] := Def[EXGRIDLib.DefColumnEnum.exCellForeColor];
		AllowSizing := False;
	end;
	with (Columns.Add('Format') as EXGRIDLib.Column) do
	begin
		FormatColumn := '%C0';
		Caption := FormatColumn;
		Def[EXGRIDLib.DefColumnEnum.exCellForeColor] := TObject(8421504);
		Def[EXGRIDLib.DefColumnEnum.exHeaderForeColor] := Def[EXGRIDLib.DefColumnEnum.exCellForeColor];
		AllowSizing := False;
	end;
	with Items do
	begin
		AddItem(TObject(1));
		CellValue[TObject(AddItem(TObject(0))),TObject(0)] := TObject(2);
		AddItem(TObject(2));
	end;
	EndUpdate();
end
1002:
Can I display the radio-button with a solid color

with AxGrid1 do
begin
	BeginUpdate();
	set_RadioImage(False,32699122);
	set_RadioImage(True,16777216);
	(Columns.Add('Check') as EXGRIDLib.Column).Def[EXGRIDLib.DefColumnEnum.exCellHasRadioButton] := TObject(True);
	with Items do
	begin
		AddItem('Radio 1');
		CellState[TObject(AddItem('Radio 2')),TObject(0)] := 1;
		AddItem('Radio 1');
	end;
	EndUpdate();
end
1001:
Can I display the check-box with a solid color

with AxGrid1 do
begin
	BeginUpdate();
	set_CheckImage(EXGRIDLib.CheckStateEnum.Unchecked,32699122);
	set_CheckImage(EXGRIDLib.CheckStateEnum.Checked,16777216);
	(Columns.Add('Check') as EXGRIDLib.Column).Def[EXGRIDLib.DefColumnEnum.exCellHasCheckBox] := TObject(True);
	with Items do
	begin
		AddItem('Check 1');
		CellState[TObject(AddItem('Check 2')),TObject(0)] := 1;
		AddItem('Check 3');
	end;
	EndUpdate();
end