1122:
How can I define a column of button type

// ButtonClick event - Occurs when user clicks on the cell's button.
void __fastcall TForm1::Grid1ButtonClick(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex,Variant   Key)
{
	Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
		OutputDebugString( PChar(var_Items->get_CellValue(TVariant(Item),TVariant(ColIndex))) );
}

Grid1->BeginUpdate();
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Button");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasButton,TVariant(true));
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellButtonAutoWidth,TVariant(false));
	var_Column->FormatColumn = L"``";
	var_Column->AllowSizing = false;
	var_Column->Width = 48;
Grid1->Columns->Add(L"Second")->FormatColumn = L"` Item ` + 1 index ``";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Button 1"));
	var_Items->AddItem(TVariant("Button 2"));
	var_Items->AddItem(TVariant("Button 3 "));
Grid1->EndUpdate();

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

// FilterChange event - Occurs when filter was changed.
void __fastcall TForm1::Grid1FilterChange(TObject *Sender)
{
	Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = Grid1->FormatABC(L"value = 0 ? 0x1000001 : 0x10000FF ",TVariant(Grid1->Columns->get_Item(TVariant(0))->FilterType),TNoParam(),TNoParam());
}

Grid1->BeginUpdate();
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->RenderType = -16777216;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") +
"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA"));
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exAllLines;
Grid1->ShowFocusRect = false;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x1000001;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->BackColorHeader = RGB(255,255,255);
Grid1->HeaderVisible = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Filter");
	var_Column->DisplayFilterButton = true;
	var_Column->AllowSort = false;
	var_Column->AllowDragging = false;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowCheckBox;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->get_Item(TVariant(0));
	var_Column1->Filter = L"Item B";
	var_Column1->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
Grid1->ApplyFilter();
Grid1->EndUpdate();

1120:
How can I display the type of the value the column display

Grid1->BeginUpdate();
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exRowLines;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Values");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column->FormatColumn = L"value + ` <off 4><fgcolor=808080>type(` + type(%0) + `)`";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TNoParam());
	var_Items->AddItem(TVariant(-1));
	var_Items->AddItem(TVariant("string"));
	var_Items->AddItem(TVariant(TDateTime(2001,1,1).operator double()));
	var_Items->AddItem(TVariant(2));
	var_Items->AddItem(TVariant(true));
	var_Items->AddItem(TVariant(12.34));
Grid1->EndUpdate();

1119:
I want to create a conditional format for a column, verifying that the value of the cell is numeric, how can I do

Grid1->BeginUpdate();
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exRowLines;
Grid1->Columns->Add(L"Values");
Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Grid1->ConditionalFormats->Add(L"type(%0) in (2,3,4,5,18,19,20,21)",TNoParam());
	var_ConditionalFormat->ForeColor = RGB(255,0,0);
	var_ConditionalFormat->Bold = true;
Grid1->ConditionalFormats->Add(L"type(%0) = 11",TNoParam())->ForeColor = RGB(0,255,0);
Grid1->ConditionalFormats->Add(L"type(%0) = 7",TNoParam())->ForeColor = RGB(0,0,255);
Grid1->ConditionalFormats->Add(L"type(%0) in (0,1)",TNoParam())->BackColor = RGB(240,240,240);
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TNoParam());
	var_Items->AddItem(TVariant(-1));
	var_Items->AddItem(TVariant("string"));
	var_Items->AddItem(TVariant(TDateTime(2001,1,1).operator double()));
	var_Items->AddItem(TVariant(2));
	var_Items->AddItem(TVariant(true));
	var_Items->AddItem(TVariant(12.34));
Grid1->EndUpdate();

1118:
How can I assign a computed value on a different column based on other columns

// Change event - Occurs when the user changes the cell's content.
void __fastcall TForm1::Grid1Change(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex,Variant *   NewValue)
{
	Grid1->FreezeEvents(true);
	Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
		var_Items->set_CellValue(TVariant(Item),TVariant(1),TVariant(Grid1->FormatABC(L"int(255*sin(value/2))",TVariant(NewValue),TNoParam(),TNoParam())));
		var_Items->set_CellValue(TVariant(Item),TVariant(2),TVariant(Grid1->FormatABC(L"int(255*cos(value/2))",TVariant(NewValue),TNoParam(),TNoParam())));
	Grid1->FreezeEvents(false);
}

Grid1->BeginUpdate();
Grid1->SelBackMode = Exgridlib_tlb::BackModeEnum::exTransparent;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exRowLines;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Value");
	var_Column->Editor->EditType = Exgridlib_tlb::EditTypeEnum::SpinType;
	var_Column->Width = 64;
	var_Column->AllowSizing = false;
Grid1->Columns->Add(L"Assign A")->set_Def(Exgridlib_tlb::DefColumnEnum::exCellBackColor,TVariant(16448250));
Grid1->Columns->Add(L"Assign B")->set_Def(Exgridlib_tlb::DefColumnEnum::exCellBackColor,TVariant(16448250));
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Computed");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellBackColor,TVariant(16448250));
	var_Column->ComputedField = L"%1 + %2";
	var_Column->FormatColumn = L"value format ``";
	var_Column->Alignment = Exgridlib_tlb::AlignmentEnum::RightAlignment;
	var_Column->HeaderAlignment = var_Column->Alignment;
Grid1->ConditionalFormats->Add(L"%3 >= 0",TNoParam())->Bold = true;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant(1989));
	var_Items->AddItem(TVariant(2001));
	var_Items->AddItem(TVariant(2017));
	var_Items->AddItem(TVariant(2018));
	var_Items->AddItem(TVariant(2019));
Grid1->EndUpdate();

1117:
How can I get computed a value on a different column

Grid1->BeginUpdate();
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exRowLines;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Year");
	var_Column->Editor->EditType = Exgridlib_tlb::EditTypeEnum::SpinType;
	var_Column->Width = 64;
	var_Column->AllowSizing = false;
Grid1->Columns->Add(L"Easter")->FormatColumn = TVariant(String("date(dateS('3/1/' + %0)  + ((1:=(((255 - 11 * (%0 mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((%0 + int(%0 / 4)) ") +
"+ =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7))");
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant(1989));
	var_Items->AddItem(TVariant(2001));
	var_Items->AddItem(TVariant(2017));
	var_Items->AddItem(TVariant(2018));
	var_Items->AddItem(TVariant(2019));
Grid1->EndUpdate();

1116:
How can I prevent applying ConditionalFormats on a specified cell, for instance I am displaying a Total field, and I will like to have formatted in a different way (method 2)

// Change event - Occurs when the user changes the cell's content.
void __fastcall TForm1::Grid1Change(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex,Variant *   NewValue)
{
	Grid1->Refresh();
}

Grid1->BeginUpdate();
Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Grid1->ConditionalFormats->Add(L"(%0 >= 0)",TNoParam());
	var_ConditionalFormat->Expression = L"(0=type(%CD0)) and (%0 >= 0)";
	var_ConditionalFormat->Bold = true;
	var_ConditionalFormat->ForeColor = RGB(255,0,0);
	OutputDebugString( L"ConditionalFormat.Valid" );
	OutputDebugString( PChar(var_ConditionalFormat->Valid) );
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Numbers");
	Exgridlib_tlb::IEditorPtr var_Editor = var_Column->Editor;
		var_Editor->Numeric = Exgridlib_tlb::NumericEnum::exInteger;
		var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::SpinType;
	var_Column->SortType = Exgridlib_tlb::SortTypeEnum::SortNumeric;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant(100));
	var_Items->AddItem(TVariant(-25));
	var_Items->AddItem(TVariant(31));
	var_Items->AddItem(TVariant(-48));
Exgridlib_tlb::IItemsPtr var_Items1 = Grid1->Items;
	long h = var_Items1->AddItem(TVariant("sum(all,dir,dbl(%0))"));
	var_Items1->set_SelectableItem(h,false);
	var_Items1->set_SortableItem(h,false);
	var_Items1->set_ItemBackColor(h,RGB(240,240,240));
	var_Items1->set_CellData(TVariant(h),TVariant(0),TVariant("total"));
	var_Items1->set_CellValueFormat(TVariant(h),TVariant(0),Exgridlib_tlb::ValueFormatEnum::exTotalField | Exgridlib_tlb::ValueFormatEnum::exHTML);
	var_Items1->set_FormatCell(TVariant(h),TVariant(0),L"'Total: <b><fgcolor=0000FF>'+(value format ``)");
Grid1->EndUpdate();

1115:
How can I prevent applying ConditionalFormats on a specified cell, for instance I am displaying a Total field, and I will like to have formatted in a different way (method 1)

// Change event - Occurs when the user changes the cell's content.
void __fastcall TForm1::Grid1Change(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex,Variant *   NewValue)
{
	Grid1->Refresh();
}

Grid1->BeginUpdate();
Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Grid1->ConditionalFormats->Add(L"%0 >= 0",TNoParam());
	var_ConditionalFormat->Bold = true;
	var_ConditionalFormat->ForeColor = RGB(255,0,0);
	var_ConditionalFormat->ApplyTo = Exgridlib_tlb::FormatApplyToEnum::exFormatToColumns;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Numbers");
	Exgridlib_tlb::IEditorPtr var_Editor = var_Column->Editor;
		var_Editor->Numeric = Exgridlib_tlb::NumericEnum::exInteger;
		var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::SpinType;
	var_Column->SortType = Exgridlib_tlb::SortTypeEnum::SortNumeric;
Grid1->Columns->Add(L"Total")->Visible = false;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_LockedItemCount(Exgridlib_tlb::VAlignmentEnum::exBottom,1);
	long h = var_Items->get_LockedItem(Exgridlib_tlb::VAlignmentEnum::exBottom,0);
	var_Items->set_ItemDivider(h,1);
	var_Items->set_ItemDividerLine(h,Exgridlib_tlb::DividerLineEnum::EmptyLine);
	var_Items->set_ItemBackColor(h,RGB(240,240,240));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("sum(all,dir,dbl(%0))"));
	var_Items->set_CellValueFormat(TVariant(h),TVariant(1),Exgridlib_tlb::ValueFormatEnum::exTotalField | Exgridlib_tlb::ValueFormatEnum::exHTML);
	var_Items->set_CellHAlignment(TVariant(h),TVariant(1),Exgridlib_tlb::AlignmentEnum::RightAlignment);
	var_Items->set_FormatCell(TVariant(h),TVariant(1),L"'Total: <b><fgcolor=0000FF>'+(value format ``)");
Exgridlib_tlb::IItemsPtr var_Items1 = Grid1->Items;
	var_Items1->AddItem(TVariant(100));
	var_Items1->AddItem(TVariant(-25));
	var_Items1->AddItem(TVariant(31));
	var_Items1->AddItem(TVariant(-48));
Grid1->EndUpdate();

1114:
ADODB Requery sample

// ButtonClick event - Occurs when user clicks on the cell's button.
void __fastcall TForm1::Grid1ButtonClick(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex,Variant   Key)
{
	/*
		Select the Component\Import Component...\Import a Type Library,
		to import the following Type Library:
			Microsoft ActiveX Data Objects 6.1 Library
		TypeLib: msado15.dll
		to define the namespace: Adodb_tlb
	*/
	//#include "ADODB_TLB.h"
	Adodb_tlb::_CommandPtr cmd = Variant::CreateObject(L"ADODB.Command");
		cmd->set_ActiveConnection(Grid1(IDispatch*)->DataSource->get_ActiveConnection());
		cmd->CommandText = L"INSERT INTO Orders (EmployeeID) VALUES(12345)";
		cmd->CommandType = Adodb_tlb::CommandTypeEnum::adCmdText;
		cmd->Execute(TNoParam(),TNoParam(),0);
	(IDispatch*)Grid1->DataSource->Requery(0);
}

// Error event - Fired when an internal error occurs.
void __fastcall TForm1::Grid1Error(TObject *Sender,long   Error,BSTR   Description)
{
	OutputDebugString( L"Description" );
}

Grid1->BeginUpdate();
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->ColumnAutoResize = false;
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADODB.Recordset");
	rs->Open(TVariant("Select * From Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access2007\\sample.accdb"),Adodb_tlb::CursorTypeEnum::adOpenKeyset,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Grid1->DataSource = (IDispatch*)rs;
Grid1->ConditionalFormats->Add(L"%1=12345",TNoParam())->BackColor = RGB(240,240,240);
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_LockedItemCount(Exgridlib_tlb::VAlignmentEnum::exTop,1);
	long h = var_Items->get_LockedItem(Exgridlib_tlb::VAlignmentEnum::exTop,0);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_CellHasButton(TVariant(h),TVariant(0),true);
	var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("Requery (add a new record, using ADODB.Command)"));
	var_Items->set_CellHAlignment(TVariant(h),TVariant(0),Exgridlib_tlb::AlignmentEnum::CenterAlignment);
Grid1->EndUpdate();

1113:
I am using DetectAddNew property, but no new items is added when AddNew is performed

// ButtonClick event - Occurs when user clicks on the cell's button.
void __fastcall TForm1::Grid1ButtonClick(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex,Variant   Key)
{
	/*
		Select the Component\Import Component...\Import a Type Library,
		to import the following Type Library:
			Microsoft ActiveX Data Objects 6.1 Library
		TypeLib: msado15.dll
		to define the namespace: Adodb_tlb
	*/
	//#include "ADODB_TLB.h"
	Adodb_tlb::_RecordsetPtr var_Recordset = (IDispatch*)Grid1->DataSource;
		var_Recordset->AddNew(TVariant("EmployeeID"),TVariant(123));
		var_Recordset->Update(TNoParam(),TNoParam());
}

// Error event - Fired when an internal error occurs.
void __fastcall TForm1::Grid1Error(TObject *Sender,long   Error,BSTR   Description)
{
	OutputDebugString( L"Description" );
}

Grid1->BeginUpdate();
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->ColumnAutoResize = false;
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADODB.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access2007\\sample.accdb"),Adodb_tlb::CursorTypeEnum::adOpenKeyset,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Grid1->DataSource = (IDispatch*)rs;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_LockedItemCount(Exgridlib_tlb::VAlignmentEnum::exTop,1);
	long h = var_Items->get_LockedItem(Exgridlib_tlb::VAlignmentEnum::exTop,0);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_CellHasButton(TVariant(h),TVariant(0),true);
	var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("AddNew"));
	var_Items->set_CellHAlignment(TVariant(h),TVariant(0),Exgridlib_tlb::AlignmentEnum::CenterAlignment);
Grid1->DetectAddNew = true;
Grid1->DetectDelete = true;
Grid1->EndUpdate();

1112:
I am skinning the control's header-bar, but the background of the header-bar is shown on each item in the filter-bar drop down panel. What can I do

Grid1->BeginUpdate();
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDB" +
"KTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLx" +
"PF2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFS" +
"b4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4P" +
"GSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDya" +
"ICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tE" +
"sHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQg" +
"pDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAA" +
"MR1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH" +
"4HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzN") +
"C0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3" +
"aioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DB" +
"aEEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAq" +
"BYfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoe" +
"EmDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA=="));
Grid1->BackColorHeader = 0x1000000;
Grid1->ForeColorHeader = RGB(128,128,128);
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x2000000;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exBackColorFilter] = RGB(255,255,255);
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exForeColorFilter] = RGB(0,0,1);
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exSelBackColorFilter] = 0x1ff8000;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exSelForeColorFilter] = RGB(240,240,240);
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Grid1->HeaderHeight = 24;
Grid1->BackColorLevelHeader = Grid1->BackColor;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Filter");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exHeaderPaddingLeft,TVariant(2));
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exHeaderPaddingRight,TVariant(2));
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("A"));
	var_Items->AddItem(TVariant("B"));
	var_Items->AddItem(TVariant("C"));
	var_Items->AddItem(TVariant("D"));
Grid1->EndUpdate();

1111:
How can I change the font for entire column (method 3)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
		var_Items->set_CellFont(TVariant(Item),TVariant(1),(IFontDisp*)(Grid1->Columns->get_Item(TVariant(1))->get_Data()));
		var_Items->set_CellBold(TVariant(Item),TVariant(1),true);
		var_Items->set_CellForeColor(TVariant(Item),TVariant(1),RGB(255,0,0));
}

Grid1->BeginUpdate();
Grid1->HeaderHeight = 24;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->Columns->Add(L"C1");
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"C2");
	var_Column->HTMLCaption = L"<b><font Tahoma;14>C2";
	/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		OLE Automation

	TypeLib: stdole2.tlb

	to define the namespace: Stdole_tlb
*/
//#include "STDOLE_TLB.h"
	Stdole_tlb::FontPtr f = Variant::CreateObject(L"StdFont");
		f->Name = L"Tahoma";
		f->Size = TVariant(long(11));
	var_Column->set_Data(f);
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(10))),TVariant(1),TVariant(11));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(12))),TVariant(1),TVariant(13));
Grid1->EndUpdate();

1110:
How can I change the font for entire column (method 2)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
		/*
		Select the Component\Import Component...\Import a Type Library,
		to import the following Type Library:
			OLE Automation
		TypeLib: stdole2.tlb
		to define the namespace: Stdole_tlb
	*/
	//#include "STDOLE_TLB.h"
		Stdole_tlb::FontPtr f = Variant::CreateObject(L"StdFont");
			f->Name = L"Tahoma";
			f->Size = TVariant(long(11));
		var_Items->set_CellFont(TVariant(Item),TVariant(1),(IFontDisp*)(f));
		var_Items->set_CellBold(TVariant(Item),TVariant(1),true);
		var_Items->set_CellForeColor(TVariant(Item),TVariant(1),RGB(255,0,0));
}

Grid1->BeginUpdate();
Grid1->HeaderHeight = 24;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->Columns->Add(L"C1");
Grid1->Columns->Add(L"C2")->HTMLCaption = L"<b><font Tahoma;14>C2";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(10))),TVariant(1),TVariant(11));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(12))),TVariant(1),TVariant(13));
Grid1->EndUpdate();

1109:
How can I change the font for entire column (method 1)

Grid1->BeginUpdate();
Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Grid1->ConditionalFormats->Add(L"1",TNoParam());
	var_ConditionalFormat->Bold = true;
	var_ConditionalFormat->ForeColor = RGB(255,0,0);
	/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		OLE Automation

	TypeLib: stdole2.tlb

	to define the namespace: Stdole_tlb
*/
//#include "STDOLE_TLB.h"
	Stdole_tlb::FontPtr f = Variant::CreateObject(L"StdFont");
		f->Name = L"Tahoma";
		f->Size = TVariant(long(11));
	var_ConditionalFormat->Font = (IFontDisp*)(f);
	var_ConditionalFormat->ApplyTo = Exgridlib_tlb::FormatApplyToEnum(0x1);
Grid1->HeaderHeight = 24;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->Columns->Add(L"C1");
Grid1->Columns->Add(L"C2")->HTMLCaption = L"<b><font Tahoma;14>C2";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(10))),TVariant(1),TVariant(11));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(12))),TVariant(1),TVariant(13));
Grid1->EndUpdate();

1108:
I am using ExComboBox as an user editor, how can I display a different column

// UserEditorClose event - Fired the user editor is about to be opened.
void __fastcall TForm1::Grid1UserEditorClose(TObject *Sender,IDispatch   *Object,Exgridlib_tlb::HITEM   Item,long   ColIndex)
{
	// Items.CellValue(Item,ColIndex) = Object.Select("OrderID")
}

// UserEditorOleEvent event - Occurs when an user editor fires an event.
void __fastcall TForm1::Grid1UserEditorOleEvent(TObject *Sender,IDispatch   *Object,Exgridlib_tlb::IOleEvent   *Ev,VARIANT_BOOL *   CloseEditor,Exgridlib_tlb::HITEM   Item,long   ColIndex)
{
	OutputDebugString( L"Ev" );
}

// UserEditorOpen event - Occurs when an user editor is about to be opened.
void __fastcall TForm1::Grid1UserEditorOpen(TObject *Sender,IDispatch   *Object,Exgridlib_tlb::HITEM   Item,long   ColIndex)
{
	// Object.Select("OrderID") = Me.Items.CellValue(Item,ColIndex)
}

Grid1->BeginUpdate();
Grid1->SortOnClick = Exgridlib_tlb::SortOnClickEnum::exNoSort;
Exgridlib_tlb::IEditorPtr var_Editor = Grid1->Columns->Add(L"Exontrol.ComboBox")->Editor;
	var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::UserEditorType;
	var_Editor->UserEditor(L"Exontrol.ComboBox",L"");
	/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		ExComboBox 1.0 Control Library

	TypeLib: ExComboBox.dll

	to define the namespace: Excomboboxlib_tlb
*/
//#include "EXCOMBOBOXLIB_TLB.h"
	Excomboboxlib_tlb::IComboBoxPtr var_ComboBox = (IDispatch*)var_Editor->UserEditorObject;
		var_ComboBox->BeginUpdate();
		var_ComboBox->Style = Excomboboxlib_tlb::StyleEnum::DropDownList;
		var_ComboBox->ColumnAutoResize = false;
		/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
		Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
			rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\SAMPLE.MDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
		var_ComboBox->DataSource = (IDispatch*)rs;
		var_ComboBox->Alignment = Excomboboxlib_tlb::AlignmentEnum::LeftAlignment;
		var_ComboBox->IntegralHeight = true;
		var_ComboBox->MinHeightList = 128;
		var_ComboBox->MinWidthList = 648;
		var_ComboBox->HeaderHeight = 36;
		var_ComboBox->AllowSizeGrip = true;
		var_ComboBox->SingleEdit = true;
		var_ComboBox->LabelColumnIndex = 7;
		var_ComboBox->SearchColumnIndex = 0;
		Excomboboxlib_tlb::IColumnPtr var_Column = var_ComboBox->Columns->get_Item(TVariant(0));
			var_Column->HeaderBold = true;
			var_Column->HTMLCaption = L"OrderID<br><fgcolor=808080>(search)";
		Excomboboxlib_tlb::IColumnPtr var_Column1 = var_ComboBox->Columns->get_Item(TVariant(7));
			var_Column1->HeaderBold = true;
			var_Column1->HTMLCaption = L"ShipName<br><fgcolor=808080>(display)";
			var_Column1->Width = 128;
		var_ComboBox->UseTabKey = false;
		var_ComboBox->EndUpdate();
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exRowLines;
Grid1->TreeColumnIndex = -1;
Grid1->DefaultItemHeight = 21;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("shows always the drop-down editor"));
	var_Items->set_CellHAlignment(TVariant(h),TVariant(0),Exgridlib_tlb::AlignmentEnum::CenterAlignment);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_ItemDividerLineAlignment(h,Exgridlib_tlb::DividerAlignmentEnum::DividerCenter);
	var_Items->set_SelectableItem(h,false);
	var_Items->set_EnableItem(h,false);
	var_Items->set_CellEditorVisible(TVariant(var_Items->AddItem(TVariant(10248))),TVariant(0),Exgridlib_tlb::EditorVisibleEnum::exEditorVisible);
	var_Items->set_CellEditorVisible(TVariant(var_Items->AddItem(TVariant(10249))),TVariant(0),Exgridlib_tlb::EditorVisibleEnum::exEditorVisible);
	var_Items->set_CellEditorVisible(TVariant(var_Items->AddItem(TVariant(10250))),TVariant(0),Exgridlib_tlb::EditorVisibleEnum::exEditorVisible);
	h = var_Items->AddItem(TVariant("shows the drop-down editor when user clicks it"));
	var_Items->set_CellHAlignment(TVariant(h),TVariant(0),Exgridlib_tlb::AlignmentEnum::CenterAlignment);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_ItemDividerLineAlignment(h,Exgridlib_tlb::DividerAlignmentEnum::DividerCenter);
	var_Items->set_SelectableItem(h,false);
	var_Items->set_EnableItem(h,false);
	var_Items->AddItem(TVariant(10248));
	var_Items->AddItem(TVariant(10249));
	var_Items->AddItem(TVariant(10250));
Grid1->EndUpdate();

1107:
The ItemHeight property is not working (method 2)

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
Grid1->ScrollBySingleLine = true;
Grid1->Columns->Add(L"Column")->Width = 128;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellSingleLine(TVariant(var_Items->AddItem(TVariant("This is a bit of text that should break the line"))),TVariant(0),Exgridlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	long h = var_Items->AddItem(TVariant(""));
	var_Items->set_ItemDivider(h,0);
	var_Items->set_SelectableItem(h,false);
	var_Items->set_ItemDividerLineAlignment(h,Exgridlib_tlb::DividerAlignmentEnum::DividerCenter);
	var_Items->set_ItemHeight(h,3);
	var_Items->set_CellSingleLine(TVariant(var_Items->AddItem(TVariant("This is a bit of text that should break the line"))),TVariant(0),Exgridlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
Grid1->EndUpdate();

1106:
The ItemHeight property is not working (method 1)

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
Grid1->ScrollBySingleLine = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Column");
	var_Column->Width = 128;
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(0));
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("This is a bit of text that should break the line"));
	long h = var_Items->AddItem(TVariant(""));
	var_Items->set_ItemDivider(h,0);
	var_Items->set_SelectableItem(h,false);
	var_Items->set_ItemDividerLineAlignment(h,Exgridlib_tlb::DividerAlignmentEnum::DividerCenter);
	var_Items->set_ItemMinHeight(h,3);
	var_Items->set_ItemMaxHeight(h,3);
	var_Items->AddItem(TVariant("This is a bit of text that should break the line"));
Grid1->EndUpdate();

1105:
How do I add a total field locked at the bottom of the control

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddGroupItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
		var_Items->set_ItemDividerLine(Item,Exgridlib_tlb::DividerLineEnum::EmptyLine);
		var_Items->set_FormatCell(TVariant(Item),TVariant(var_Items->get_GroupItem(Item)),L"value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`");
		var_Items->set_CellValue(TVariant(Item),TVariant("Min"),TVariant("min(current,all,dbl(%6))"));
		var_Items->set_CellValueFormat(TVariant(Item),TVariant("Min"),Exgridlib_tlb::ValueFormatEnum::exTotalField);
		var_Items->set_CellValue(TVariant(Item),TVariant("Max"),TVariant("max(current,all,dbl(%6))"));
		var_Items->set_CellValueFormat(TVariant(Item),TVariant("Max"),Exgridlib_tlb::ValueFormatEnum::exTotalField);
		var_Items->set_CellValue(TVariant(Item),TVariant("Sum"),TVariant("sum(current,all,dbl(%6))"));
		var_Items->set_CellValueFormat(TVariant(Item),TVariant("Sum"),Exgridlib_tlb::ValueFormatEnum::exTotalField);
		var_Items->set_ItemBackColor(Item,RGB(240,240,240));
}

// Change event - Occurs when the user changes the cell's content.
void __fastcall TForm1::Grid1Change(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex,Variant *   NewValue)
{
	Grid1->Refresh();
}

Grid1->BeginUpdate();
Grid1->HasLines = Exgridlib_tlb::HierarchyLineEnum::exNoLine;
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exColumnsFloatBar] = L"Show/Hide";
Grid1->ColumnsFloatBarSortOrder = Exgridlib_tlb::SortOrderEnum::SortAscending;
Grid1->ColumnsFloatBarVisible = Exgridlib_tlb::ColumnsFloatBarVisibleEnum::exColumnsFloatBarVisibleIncludeCheckColumns;
Grid1->ColumnAutoResize = false;
Grid1->BackColorSortBar = RGB(240,240,240);
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\SAMPLE.MDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Grid1->DataSource = (IDispatch*)rs;
Grid1->SingleSort = false;
Grid1->SortBarVisible = true;
Grid1->AllowGroupBy = true;
Grid1->SortBarCaption = L"Drag a <b>column</b> header here to group by that column.";
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	Exgridlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Min");
		var_Column->Visible = false;
		var_Column->AllowDragging = false;
	var_Column = var_Columns->Add(L"Max");
		var_Column->Visible = false;
		var_Column->Visible = false;
		var_Column->AllowDragging = false;
	Exgridlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Sum");
		var_Column1->Visible = false;
		var_Column1->Visible = false;
		var_Column1->AllowDragging = false;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->get_Item(TVariant("Freight"));
	var_Column2->FormatColumn = L"currency(value)";
	var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellBackColor,TVariant(12895487));
	var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exHeaderBackColor,TVariant(var_Column2->get_Def(Exgridlib_tlb::DefColumnEnum::exCellBackColor)));
	var_Column2->HeaderBold = true;
	var_Column2->AllowGroupBy = false;
	var_Column2->Alignment = Exgridlib_tlb::AlignmentEnum::RightAlignment;
Grid1->ScrollBySingleLine = false;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_LockedItemCount(Exgridlib_tlb::VAlignmentEnum::exBottom,2);
	long hL = var_Items->get_LockedItem(Exgridlib_tlb::VAlignmentEnum::exBottom,0);
	var_Items->set_ItemDivider(hL,0);
	var_Items->set_ItemHeight(hL,3);
	var_Items->set_ItemDividerLineAlignment(hL,Exgridlib_tlb::DividerAlignmentEnum::DividerTop);
	var_Items->set_ItemDividerLine(hL,Exgridlib_tlb::DividerLineEnum::DoubleLine);
	hL = var_Items->get_LockedItem(Exgridlib_tlb::VAlignmentEnum::exBottom,1);
	var_Items->set_CellValue(TVariant(hL),TVariant(6),TVariant("sum(all,rec,dbl(%6))"));
	var_Items->set_CellValueFormat(TVariant(hL),TVariant(6),Exgridlib_tlb::ValueFormatEnum::exTotalField);
	var_Items->set_ItemHeight(hL,24);
	var_Items->set_ItemBold(hL,true);
Grid1->Columns->get_Item(TVariant("EmployeeID"))->SortOrder = true;
Grid1->EndUpdate();

1104:
How can I add a total field, when I use grouping

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddGroupItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
		var_Items->set_ItemDividerLine(Item,Exgridlib_tlb::DividerLineEnum::EmptyLine);
		var_Items->set_FormatCell(TVariant(Item),TVariant(var_Items->get_GroupItem(Item)),L"value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`");
		var_Items->set_CellValue(TVariant(Item),TVariant("Min"),TVariant("min(current,all,dbl(%6))"));
		var_Items->set_CellValueFormat(TVariant(Item),TVariant("Min"),Exgridlib_tlb::ValueFormatEnum::exTotalField);
		var_Items->set_CellValue(TVariant(Item),TVariant("Max"),TVariant("max(current,all,dbl(%6))"));
		var_Items->set_CellValueFormat(TVariant(Item),TVariant("Max"),Exgridlib_tlb::ValueFormatEnum::exTotalField);
		var_Items->set_CellValue(TVariant(Item),TVariant("Sum"),TVariant("sum(current,all,dbl(%6))"));
		var_Items->set_CellValueFormat(TVariant(Item),TVariant("Sum"),Exgridlib_tlb::ValueFormatEnum::exTotalField);
		var_Items->set_ItemBackColor(Item,RGB(240,240,240));
}

// Change event - Occurs when the user changes the cell's content.
void __fastcall TForm1::Grid1Change(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex,Variant *   NewValue)
{
	Grid1->Refresh();
}

Grid1->BeginUpdate();
Grid1->HasLines = Exgridlib_tlb::HierarchyLineEnum::exNoLine;
Grid1->ColumnAutoResize = false;
Grid1->BackColorSortBar = RGB(240,240,240);
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\SAMPLE.MDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Grid1->DataSource = (IDispatch*)rs;
Grid1->SingleSort = false;
Grid1->SortBarVisible = true;
Grid1->AllowGroupBy = true;
Grid1->Columns->get_Item(TVariant(1))->SortOrder = true;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	var_Columns->Add(L"Min")->Visible = false;
	var_Columns->Add(L"Max")->Visible = false;
	var_Columns->Add(L"Sum")->Visible = false;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->get_Item(TVariant("Freight"));
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellBackColor,TVariant(12895487));
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exHeaderBackColor,TVariant(var_Column->get_Def(Exgridlib_tlb::DefColumnEnum::exCellBackColor)));
	var_Column->HeaderBold = true;
	var_Column->AllowGroupBy = false;
Grid1->ScrollBySingleLine = false;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_LockedItemCount(Exgridlib_tlb::VAlignmentEnum::exBottom,1);
	long hL = var_Items->get_LockedItem(Exgridlib_tlb::VAlignmentEnum::exBottom,0);
	var_Items->set_ItemDivider(hL,0);
	var_Items->set_ItemHeight(hL,24);
	var_Items->set_ItemDividerLineAlignment(hL,Exgridlib_tlb::DividerAlignmentEnum::DividerTop);
	var_Items->set_ItemDividerLine(hL,Exgridlib_tlb::DividerLineEnum::DoubleLine);
	var_Items->set_CellValue(TVariant(hL),TVariant(0),TVariant("sum(all,rec,dbl(%6))"));
	var_Items->set_CellValueFormat(TVariant(hL),TVariant(0),Exgridlib_tlb::ValueFormatEnum::exTotalField | Exgridlib_tlb::ValueFormatEnum::exHTML);
	var_Items->set_CellHAlignment(TVariant(hL),TVariant(0),Exgridlib_tlb::AlignmentEnum::RightAlignment);
	var_Items->set_FormatCell(TVariant(hL),TVariant(0),L"'Freight: <bgcolor=FFC4C4> '+(value format ``) + ` `");
Grid1->EndUpdate();

1103:
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	var_Columns->Add(L"City");
	var_Columns->Add(L"Start")->Visible = false;
	var_Columns->Add(L"End")->Visible = false;
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exColumnsFloatBar] = L"Show/Hide";
Grid1->ColumnsFloatBarSortOrder = Exgridlib_tlb::SortOrderEnum::SortAscending;
Grid1->ColumnsFloatBarVisible = Exgridlib_tlb::ColumnsFloatBarVisibleEnum::exColumnsFloatBarVisibleIncludeCheckColumns;
Grid1->EndUpdate();

1102:
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	var_Columns->Add(L"City");
	var_Columns->Add(L"Start")->Visible = false;
	var_Columns->Add(L"End")->Visible = false;
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exColumnsFloatBar] = L"Show";
Grid1->ColumnsFloatBarVisible = Exgridlib_tlb::ColumnsFloatBarVisibleEnum::exColumnsFloatBarVisibleIncludeHiddenColumns;
Grid1->ColumnsFloatBarSortOrder = Exgridlib_tlb::SortOrderEnum::SortAscending;
Grid1->EndUpdate();

1101:
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeGroupByColumns

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	var_Columns->Add(L"City");
	var_Columns->Add(L"Start");
	var_Columns->Add(L"End");
Grid1->AllowGroupBy = true;
Grid1->SortBarVisible = true;
Grid1->SortBarCaption = L"Drag a <b>column</b> header here to group by that column.";
Grid1->BackColorSortBar = RGB(250,250,250);
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exColumnsFloatBar] = L"Group-By";
Grid1->ColumnsFloatBarVisible = Exgridlib_tlb::ColumnsFloatBarVisibleEnum::exColumnsFloatBarVisibleIncludeGroupByColumns;
Grid1->ColumnsFloatBarSortOrder = Exgridlib_tlb::SortOrderEnum::SortAscending;
Grid1->Columns->get_Item(TVariant("City"))->SortOrder = Exgridlib_tlb::SortOrderEnum::SortAscending;
Grid1->EndUpdate();

1100:
How can I advance to the next line, once the user presses the ENTER key

// KeyDown event - Occurs when the user presses a key while an object has the focus.
void __fastcall TForm1::Grid1KeyDown(TObject *Sender,short *   KeyCode,short   Shift)
{
	OutputDebugString( L"KeyCode Before:" );
	OutputDebugString( L"KeyCode" );
	KeyCode = TVariant(Grid1->FormatABC(L"value = 13 ? 40 : value",TVariant(KeyCode),TNoParam(),TNoParam()));
	OutputDebugString( L"KeyCode After:" );
	OutputDebugString( L"KeyCode" );
}

Grid1->BeginUpdate();
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	Exgridlib_tlb::IEditorPtr var_Editor = var_Columns->Add(L"A")->Editor;
		var_Editor->Appearance = Exgridlib_tlb::InplaceAppearanceEnum::EtchedApp;
		var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::EditType;
	Exgridlib_tlb::IEditorPtr var_Editor1 = var_Columns->Add(L"B")->Editor;
		var_Editor1->Appearance = Exgridlib_tlb::InplaceAppearanceEnum::EtchedApp;
		var_Editor1->EditType = Exgridlib_tlb::EditTypeEnum::EditType;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h0 = var_Items->AddItem(TVariant("Item A.1"));
	var_Items->set_CellValue(TVariant(h0),TVariant(1),TVariant("Item B.1"));
	h0 = var_Items->AddItem(TVariant("Item A.2"));
	var_Items->set_CellValue(TVariant(h0),TVariant(1),TVariant("Item B.2"));
Grid1->EndUpdate();

1099:
I am using AddNew to add new records, but I can not see them into the control

// ButtonClick event - Occurs when user clicks on the cell's button.
void __fastcall TForm1::Grid1ButtonClick(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex,Variant   Key)
{
	/*
		Select the Component\Import Component...\Import a Type Library,
		to import the following Type Library:
			Microsoft ActiveX Data Objects 6.1 Library
		TypeLib: msado15.dll
		to define the namespace: Adodb_tlb
	*/
	//#include "ADODB_TLB.h"
	Adodb_tlb::_RecordsetPtr var_Recordset = (IDispatch*)Grid1->DataSource;
		var_Recordset->AddNew(TNoParam(),TNoParam());
		var_Recordset->Fields->get_Item(TVariant("A"))->set_Value(TVariant("new A"));
		var_Recordset->Fields->get_Item(TVariant("B"))->set_Value(TVariant("new B"));
		var_Recordset->Update(TNoParam(),TNoParam());
}

Grid1->BeginUpdate();
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADODB.Recordset");
	rs->Fields->Append(L"A",Adodb_tlb::DataTypeEnum::adBSTR,0,TNoParam(),TNoParam());
	rs->Fields->Append(L"B",Adodb_tlb::DataTypeEnum::adBSTR,0,TNoParam(),TNoParam());
	rs->Open(TNoParam(),TNoParam(),TNoParam(),TNoParam(),0);
	rs->AddNew(TNoParam(),TNoParam());
	rs->Fields->get_Item(TVariant("A"))->set_Value(TVariant("Item A.1"));
	rs->Fields->get_Item(TVariant("B"))->set_Value(TVariant("Item B.1"));
	rs->Update(TNoParam(),TNoParam());
	rs->AddNew(TNoParam(),TNoParam());
	rs->Fields->get_Item(TVariant("A"))->set_Value(TVariant("Item A.2"));
	rs->Fields->get_Item(TVariant("B"))->set_Value(TVariant("Item B.2"));
	rs->Update(TNoParam(),TNoParam());
Grid1->DataSource = (IDispatch*)rs;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_LockedItemCount(Exgridlib_tlb::VAlignmentEnum::exTop,1);
	long h = var_Items->get_LockedItem(Exgridlib_tlb::VAlignmentEnum::exTop,0);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_CellHasButton(TVariant(h),TVariant(0),true);
	var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("AddNew"));
	var_Items->set_CellHAlignment(TVariant(h),TVariant(0),Exgridlib_tlb::AlignmentEnum::CenterAlignment);
Grid1->DetectAddNew = true;
Grid1->DetectDelete = true;
Grid1->EndUpdate();

1098:
How can I create a new ADO recordset

Grid1->BeginUpdate();
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADODB.Recordset");
	rs->Fields->Append(L"A",Adodb_tlb::DataTypeEnum::adBSTR,0,TNoParam(),TNoParam());
	rs->Fields->Append(L"B",Adodb_tlb::DataTypeEnum::adBSTR,0,TNoParam(),TNoParam());
	rs->Open(TNoParam(),TNoParam(),TNoParam(),TNoParam(),0);
	rs->AddNew(TNoParam(),TNoParam());
	rs->Fields->get_Item(TVariant("A"))->set_Value(TVariant("Item A.1"));
	rs->Fields->get_Item(TVariant("B"))->set_Value(TVariant("Item B.1"));
	rs->Update(TNoParam(),TNoParam());
	rs->AddNew(TNoParam(),TNoParam());
	rs->Fields->get_Item(TVariant("A"))->set_Value(TVariant("Item A.2"));
	rs->Fields->get_Item(TVariant("B"))->set_Value(TVariant("Item B.2"));
	rs->Update(TNoParam(),TNoParam());
Grid1->DataSource = (IDispatch*)rs;
Grid1->EndUpdate();

1097:
Do do I get the DAO version I have installed

OutputDebugString( Variant::CreateObject(L"DAO.DBEngine.35")->Version->Version );
OutputDebugString( Variant::CreateObject(L"DAO.DBEngine.36")->Version->Version );
OutputDebugString( Variant::CreateObject(L"DAO.DBEngine.120")->Version->Version );

1096:
How do I get a list of interfaces the object implemenets

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft Office 12.0 Access database engine Object Library

	TypeLib: ACEDAO.DLL

	to define the namespace: Dao_tlb
*/
//#include "DAO_TLB.h"
Dao_tlb::_DBEnginePtr var_PrivDBEngine = Variant::CreateObject(L"DAO.DBEngine.120");
	Dao_tlb::Recordset2Ptr rs = var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access2007\\sample.accdb",TNoParam(),TNoParam(),TNoParam())->OpenRecordset(L"Orders",TNoParam(),TNoParam(),TNoParam());
OutputDebugString( Variant::CreateObject(L"Exontrol.PropertiesList")->get_Interfaces(rs)->get_Interfaces(rs) );
Grid1->DataSource = (IDispatch*)rs;
Grid1->EndUpdate();

1095:
Do do I get the ADO version I have installed

OutputDebugString( L"ADO Version:" );
OutputDebugString( Variant::CreateObject(L"ADODB.Connection")->Version->Version );

1094:
DAO, ACCDB, 120

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft Office 12.0 Access database engine Object Library

	TypeLib: ACEDAO.DLL

	to define the namespace: Dao_tlb
*/
//#include "DAO_TLB.h"
Dao_tlb::_DBEnginePtr var_PrivDBEngine = Variant::CreateObject(L"DAO.DBEngine.120");
	Dao_tlb::Recordset2Ptr rs = var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access2007\\sample.accdb",TNoParam(),TNoParam(),TNoParam())->OpenRecordset(L"Orders",TNoParam(),TNoParam(),TNoParam());
Grid1->DataSource = (IDispatch*)rs;
Grid1->EndUpdate();

1093:
DAO, MDB, 120

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft Office 12.0 Access database engine Object Library

	TypeLib: ACEDAO.DLL

	to define the namespace: Dao_tlb
*/
//#include "DAO_TLB.h"
Dao_tlb::_DBEnginePtr var_PrivDBEngine = Variant::CreateObject(L"DAO.DBEngine.120");
	Dao_tlb::Recordset2Ptr rs = var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExGrid\\Sample\\SAMPLE.MDB",TNoParam(),TNoParam(),TNoParam())->OpenRecordset(L"Orders",TNoParam(),TNoParam(),TNoParam());
Grid1->DataSource = (IDispatch*)rs;
Grid1->EndUpdate();

1092:
DAO, MDB

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft DAO 3.6 Object Library

	TypeLib: dao360.dll

	to define the namespace: Dao_tlb
*/
//#include "DAO_TLB.h"
Dao_tlb::_DBEnginePtr var_PrivDBEngine = Variant::CreateObject(L"DAO.DBEngine.36");
	Dao_tlb::RecordsetPtr rs = var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExGrid\\Sample\\SAMPLE.MDB",TNoParam(),TNoParam(),TNoParam())->OpenRecordset(L"Orders",TNoParam(),TNoParam(),TNoParam());
Grid1->DataSource = (IDispatch*)rs;
Grid1->EndUpdate();

1091:
ADODB, ACCDB, x64

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADODB.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access2007\\sample.accdb"),Adodb_tlb::CursorTypeEnum::adOpenKeyset,Adodb_tlb::LockTypeEnum::adLockReadOnly,0);
Grid1->DataSource = (IDispatch*)rs;
Grid1->EndUpdate();

1090:
ADOR, ACCDB

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access2007\\sample.accdb"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Grid1->DataSource = (IDispatch*)rs;
Grid1->EndUpdate();

1089:
ADODB, MDB

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADODB.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\SAMPLE.MDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Grid1->DataSource = (IDispatch*)rs;
Grid1->EndUpdate();

1088:
ADOR, MDB

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\SAMPLE.MDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Grid1->DataSource = (IDispatch*)rs;
Grid1->EndUpdate();

1087:
How can I display the row on multiple lines (excrd)

Grid1->BeginUpdate();
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->SelBackMode = Exgridlib_tlb::BackModeEnum::exTransparent;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Default");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellFormatLevel,TVariant(String("[b=0]60;1[b=15]:60,((20;\"<fgcolor=808080>Dateigröße\"[b=1][a=2]:120,2[b=15])/(20;\"<fgcolor=808080>Erstellt am\"[a=2]:120,3[b=") +
"15])/(20;\"<fgcolor=808080>Zuletzt bearbeitet\"[b=4][a=2]:120,4[b=15]))"));
	var_Column->AllowSort = false;
Grid1->Columns->Add(L"1")->Visible = false;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"2");
	var_Column1->Visible = false;
	var_Column1->Editor->EditType = Exgridlib_tlb::EditTypeEnum::EditType;
	var_Column1->FormatColumn = L"1 index `A-Z`";
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->Add(L"3");
	var_Column2->Visible = false;
	var_Column2->Editor->EditType = Exgridlib_tlb::EditTypeEnum::EditType;
	var_Column2->FormatColumn = L"1 index ``";
Exgridlib_tlb::IColumnPtr var_Column3 = Grid1->Columns->Add(L"4");
	var_Column3->Visible = false;
	var_Column3->Editor->EditType = Exgridlib_tlb::EditTypeEnum::EditType;
	var_Column3->FormatColumn = L"date(``)";
Grid1->DefaultItemHeight = 48;
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exRowLines;
Grid1->GridLineStyle = Exgridlib_tlb::GridLinesStyleEnum::exGridLinesSolid;
Grid1->ViewModeOption[Exgridlib_tlb::ViewModeEnum::exTableView,Exgridlib_tlb::ViewModeOptionEnum::exBorderWidth] = TVariant(1);
Grid1->ViewModeOption[Exgridlib_tlb::ViewModeEnum::exTableView,Exgridlib_tlb::ViewModeOptionEnum::exBorderHeight] = TVariant(1);
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(""))),TVariant(1),TVariant("One"));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(""))),TVariant(1),TVariant("Two"));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(""))),TVariant(1),TVariant("Three"));
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->HeaderSingleLine = false;
Grid1->HeaderHeight = 36;
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exRowLines;
Grid1->ColumnAutoResize = false;
Grid1->ScrollBySingleLine = true;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	Exgridlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Single-Line (exCaptionSingleLine)");
		var_Column->Width = 96;
		var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
		var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(-1));
	Exgridlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Word-Wrap (exCaptionWordWrap)");
		var_Column1->Width = 96;
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(0));
		var_Column1->FormatColumn = L"%0";
	Exgridlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"Break-Wrap (exCaptionBreakWrap)");
		var_Column2->Width = 96;
		var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
		var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(1));
		var_Column2->FormatColumn = L"%0";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."));
	var_Items->AddItem(TVariant("This is the <b>first</b> line.\\r\\nThis is the <b>second</b> line.\\r\\nThis is the <b>third</b> line."));
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->HeaderSingleLine = false;
Grid1->HeaderHeight = 36;
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exRowLines;
Grid1->ColumnAutoResize = false;
Grid1->ScrollBySingleLine = true;
Grid1->Columns->Add(L"Default")->Width = 128;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
	h = var_Items->AddItem(TVariant("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."));
	var_Items->set_CellValueFormat(TVariant(h),TVariant(0),Exgridlib_tlb::ValueFormatEnum::exHTML);
	h = var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exgridlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	h = var_Items->AddItem(TVariant("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."));
	var_Items->set_CellValueFormat(TVariant(h),TVariant(0),Exgridlib_tlb::ValueFormatEnum::exHTML);
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exgridlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	h = var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exgridlib_tlb::CellSingleLineEnum::exCaptionBreakWrap);
	h = var_Items->AddItem(TVariant("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."));
	var_Items->set_CellValueFormat(TVariant(h),TVariant(0),Exgridlib_tlb::ValueFormatEnum::exHTML);
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exgridlib_tlb::CellSingleLineEnum::exCaptionBreakWrap);
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exRowLines;
Grid1->ColumnAutoResize = false;
Grid1->ScrollBySingleLine = true;
Grid1->Columns->Add(L"Default")->Width = 128;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellSingleLine(TVariant(var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."))),TVariant(0),Exgridlib_tlb::CellSingleLineEnum::exCaptionBreakWrap);
	var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exRowLines;
Grid1->ColumnAutoResize = false;
Grid1->ScrollBySingleLine = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Default");
	var_Column->Width = 128;
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(1));
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
	var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
Grid1->EndUpdate();

1082:
How can I change the visual appearance/color of the Filter For ... field

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Grid1->BackColorHeader = RGB(1,0,0);
Grid1->ForeColorHeader = RGB(255,255,255);
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exBackColorFilter] = Grid1->BackColorHeader;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exForeColorFilter] = Grid1->ForeColorHeader;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = RGB(240,240,240);
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Bump;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Items");
	var_Column->FilterOnType = true;
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exNoItems;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
Grid1->EndUpdate();

1081:
How can I display the cell's caption without spaces on both sides

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Default");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column->FormatColumn = L"((trim(value) replace `   ` with ` `) replace `  ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("    Item B"));
	var_Items->AddItem(TVariant("        Item   C    "));
Grid1->EndUpdate();

1080:
How can I highlight the spaces within the column (sample 2)

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Default");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column->FormatColumn = L"`'` + ( value replace ` ` with `_` ) + `'`";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("    Item B"));
	var_Items->AddItem(TVariant("        Item   C    "));
Grid1->EndUpdate();

1079:
How can I highlight the spaces within the column (sample 1)

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Default");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column->FormatColumn = L"len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("    Item B"));
	var_Items->AddItem(TVariant("        Item   C    "));
Grid1->EndUpdate();

1078:
How can I change the visual aspect of the drop down filter-calendar

Grid1->BeginUpdate();
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exBackColorFilter] = RGB(0,0,1);
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exForeColorFilter] = RGB(255,255,255);
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exDateScrollRange] = RGB(255,255,255);
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exDateHeader] = Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exBackColorFilter];
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exDateScrollThumb] = RGB(128,128,128);
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Date");
	var_Column->FilterType = Exgridlib_tlb::FilterTypeEnum::exDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterDate = true;
	var_Column->DisplayFilterPattern = false;
Grid1->EndUpdate();

1077:
How can I hide the filter bar description

Grid1->BeginUpdate();
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Filter");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column->Filter = L"B";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("A"));
	var_Items->AddItem(TVariant("B"));
	var_Items->AddItem(TVariant("C"));
Grid1->ApplyFilter();
Grid1->FilterBarHeight = 0;
Grid1->EndUpdate();

1076:
Export Data in HTML format

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Grid1->BackColorAlternate = RGB(240,240,240);
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exAllLines;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Grid1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = TVariant(String("(( ( 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>` + ( matc" +
"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
"nt + ` item(s)`) )))");
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->FilterBarPromptType = Exgridlib_tlb::FilterPromptEnum::exFilterPromptContainsAny;
Exgridlib_tlb::IConditionalFormatsPtr var_ConditionalFormats = Grid1->ConditionalFormats;
	var_ConditionalFormats->Add(L"%0 like `*parent*`",TVariant("parent"))->BackColor = RGB(192,192,192);
	Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = var_ConditionalFormats->Add(L"%0 like `*child*`",TVariant("child"));
		var_ConditionalFormat->ForeColor = RGB(255,128,128);
		var_ConditionalFormat->ApplyTo = Exgridlib_tlb::FormatApplyToEnum::exFormatToColumns;
	Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat1 = var_ConditionalFormats->Add(L"%0 like `*B*`",TVariant("b"));
		var_ConditionalFormat1->ForeColor = RGB(0,0,255);
		var_ConditionalFormat1->Bold = true;
		var_ConditionalFormat1->Italic = true;
		var_ConditionalFormat1->ApplyTo = Exgridlib_tlb::FormatApplyToEnum::exFormatToColumns;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	Exgridlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Value");
		var_Column->Width = 128;
		var_Column->HTMLCaption = L"<b>VA</b><r>sko";
	Exgridlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"APos");
		var_Column1->FormatColumn = L"0 apos ``";
		var_Column1->AllowSort = false;
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellBackColor,TVariant(15790320));
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellForeColor,TVariant(8421504));
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exHeaderForeColor,TVariant(var_Column1->get_Def(Exgridlib_tlb::DefColumnEnum::exCellForeColor)));
		var_Column1->Position = 0;
	Exgridlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"RPos");
		var_Column2->FormatColumn = L"0 rpos ``";
		var_Column2->AllowSort = false;
		var_Column2->Position = 1;
	Exgridlib_tlb::IColumnPtr var_Column3 = var_Columns->Add(L"Index");
		var_Column3->FormatColumn = L"0 index ``";
		var_Column3->DisplayFilterButton = true;
		var_Column3->FilterList = Exgridlib_tlb::FilterListEnum::exShowCheckBox;
		var_Column3->Position = 2;
	Exgridlib_tlb::IColumnPtr var_Column4 = var_Columns->Add(L"Data 1");
		var_Column4->FormatColumn = L"0 index `A-Z`";
		var_Column4->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	Exgridlib_tlb::IColumnPtr var_Column5 = var_Columns->Add(L"Data 2");
		var_Column5->FormatColumn = L"0 index `AB` replace `A` with `<off -4>A</off>`";
		var_Column5->set_Def(Exgridlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(false));
		var_Column5->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
		var_Column5->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasRadioButton,TVariant(true));
	Exgridlib_tlb::IColumnPtr var_Column6 = var_Columns->Add(L"Data 3");
		var_Column6->FormatColumn = L"0 index `CDC` replace `D` with `<b>D</b>`";
		var_Column6->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("ParentA"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child A"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child B"));
	var_Items->set_CellState(TVariant(h),TVariant(4),1);
	var_Items->set_CellBackColor(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Child C"))),TVariant(5),RGB(0,255,0));
	var_Items->set_ExpandItem(h,true);
	var_Items->AddItem(TVariant("Item A"));
	h = var_Items->AddItem(TVariant("ParentB"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_CellBackColor(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Child 3"))),TVariant(5),RGB(0,255,0));
	var_Items->set_CellState(TVariant(h),TVariant(5),1);
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
	var_Items->AddItem(TVariant("Item D"));
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();
String sFile = "c:/temp/export.html";
Grid1->Export(TVariant(sFile),TVariant("vis"));
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft Internet Controls

	TypeLib: ieframe.dll

	to define the namespace: Shdocvw_tlb
*/
//#include "SHDOCVW_TLB.h"
Shdocvw_tlb::IWebBrowser2Ptr var_ShellBrowserWindow = Variant::CreateObject(L"InternetExplorer.Application");
	var_ShellBrowserWindow->Navigate2(sFile,TNoParam(),TNoParam(),TNoParam(),TNoParam());

1075:
Export Data in CSV format

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Grid1->BackColorAlternate = RGB(240,240,240);
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exAllLines;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Grid1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = TVariant(String("(( ( 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>` + ( matc" +
"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
"nt + ` item(s)`) )))");
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->FilterBarPromptType = Exgridlib_tlb::FilterPromptEnum::exFilterPromptContainsAny;
Exgridlib_tlb::IConditionalFormatsPtr var_ConditionalFormats = Grid1->ConditionalFormats;
	var_ConditionalFormats->Add(L"%0 like `*parent*`",TVariant("parent"))->BackColor = RGB(192,192,192);
	Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = var_ConditionalFormats->Add(L"%0 like `*child*`",TVariant("child"));
		var_ConditionalFormat->ForeColor = RGB(255,128,128);
		var_ConditionalFormat->ApplyTo = Exgridlib_tlb::FormatApplyToEnum::exFormatToColumns;
	Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat1 = var_ConditionalFormats->Add(L"%0 like `*B*`",TVariant("b"));
		var_ConditionalFormat1->ForeColor = RGB(0,0,255);
		var_ConditionalFormat1->Bold = true;
		var_ConditionalFormat1->Italic = true;
		var_ConditionalFormat1->ApplyTo = Exgridlib_tlb::FormatApplyToEnum::exFormatToColumns;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	Exgridlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Value");
		var_Column->Width = 128;
		var_Column->HTMLCaption = L"<b>VA</b><r>sko";
	Exgridlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"APos");
		var_Column1->FormatColumn = L"0 apos ``";
		var_Column1->AllowSort = false;
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellBackColor,TVariant(15790320));
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellForeColor,TVariant(8421504));
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exHeaderForeColor,TVariant(var_Column1->get_Def(Exgridlib_tlb::DefColumnEnum::exCellForeColor)));
		var_Column1->Position = 0;
	Exgridlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"RPos");
		var_Column2->FormatColumn = L"0 rpos ``";
		var_Column2->AllowSort = false;
		var_Column2->Position = 1;
	Exgridlib_tlb::IColumnPtr var_Column3 = var_Columns->Add(L"Index");
		var_Column3->FormatColumn = L"0 index ``";
		var_Column3->DisplayFilterButton = true;
		var_Column3->FilterList = Exgridlib_tlb::FilterListEnum::exShowCheckBox;
		var_Column3->Position = 2;
	Exgridlib_tlb::IColumnPtr var_Column4 = var_Columns->Add(L"Data 1");
		var_Column4->FormatColumn = L"0 index `A-Z`";
		var_Column4->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	Exgridlib_tlb::IColumnPtr var_Column5 = var_Columns->Add(L"Data 2");
		var_Column5->FormatColumn = L"0 index `AB` replace `A` with `<off -4>A</off>`";
		var_Column5->set_Def(Exgridlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(false));
		var_Column5->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
		var_Column5->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasRadioButton,TVariant(true));
	Exgridlib_tlb::IColumnPtr var_Column6 = var_Columns->Add(L"Data 3");
		var_Column6->FormatColumn = L"0 index `CDC` replace `D` with `<b>D</b>`";
		var_Column6->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("ParentA"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child A"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child B"));
	var_Items->set_CellState(TVariant(h),TVariant(4),1);
	var_Items->set_CellBackColor(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Child C"))),TVariant(5),RGB(0,255,0));
	var_Items->set_ExpandItem(h,true);
	var_Items->AddItem(TVariant("Item A"));
	h = var_Items->AddItem(TVariant("ParentB"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_CellBackColor(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Child 3"))),TVariant(5),RGB(0,255,0));
	var_Items->set_CellState(TVariant(h),TVariant(5),1);
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
	var_Items->AddItem(TVariant("Item D"));
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();
OutputDebugString( PChar(Grid1->Export(TVariant(""),TVariant("vis"))) );

1074:
Is it possible to check multiple-items at once

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	TVariant bHasParent = TVariant(Grid1->FormatABC(L"value != 0",Grid1->Items->get_ItemParent(Item),TNoParam(),TNoParam()));
	Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
		var_Items->set_CellHasCheckBox(TVariant(Item),TVariant(0),false);
}

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column->FormatColumn = L"value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)";
Grid1->HeaderVisible = true;
Grid1->SingleSel = false;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_LockedItemCount(Exgridlib_tlb::VAlignmentEnum::exTop,1);
	var_Items->set_CellValue(TVariant(var_Items->get_LockedItem(Exgridlib_tlb::VAlignmentEnum::exTop,0)),TVariant(0),TVariant("<c>Select multiple items and press the <b>SPACE</b> key"));
Grid1->EndUpdate();

1073:
How can I get the icon from the cell when using the Items.CellImages property (icon index)

// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::Grid1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	long i = Grid1->ItemFromPoint[-1,-1,c,hit];
	OutputDebugString( PChar(Grid1->FormatABC(L"( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` )  : `no image`",TVariant(hit),Grid1->Items->get_CellImages(TVariant(i),TVariant(c)),TNoParam())) );
}

Grid1->BeginUpdate();
Grid1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Grid1->Columns->Add(L"Default");
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellImages(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(0),TVariant("3,2,1"));
	var_Items->set_CellImages(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(0),TVariant("2,3"));
	var_Items->set_CellImages(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(0),TVariant("2,"));
Grid1->EndUpdate();

1072:
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)

// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::Grid1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	long i = Grid1->ItemFromPoint[-1,-1,c,hit];
	OutputDebugString( PChar(Grid1->FormatABC(L"( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",TVariant(hit),TNoParam(),TNoParam())) );
}

Grid1->BeginUpdate();
Grid1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Grid1->Columns->Add(L"Default");
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellImages(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(0),TVariant("3,2,1"));
	var_Items->set_CellImages(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(0),TVariant("2,3"));
	var_Items->set_CellImages(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(0),TVariant("2"));
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	var_Columns->Add(L"Column 1");
	var_Columns->Add(L"Column 2");
	var_Columns->Add(L"Column 3");
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzV") +
"IUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4" +
"aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DB" +
"eEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" +
"BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAok" +
"GKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI="));
	var_Appearance->Add(2,TVariant("CP:1 0 -36 0 0"));
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exColumnsPositionSign] = 0x2000000;
Grid1->EndUpdate();

1070:
How can I add a title column

Grid1->BeginUpdate();
Grid1->HeaderHeight = 22;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::Etched;
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exAllLines;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	var_Columns->Add(L"Col 1");
	var_Columns->Add(L"Col 2")->FormatColumn = L"1 pos ``";
	var_Columns->Add(L"Col 3")->FormatColumn = L"1 pos `A-`";
	var_Columns->Add(L"Col 4")->FormatColumn = L"1 pos `A-Z`";
	Exgridlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Title");
		var_Column->ExpandColumns = L"0,1,2,3";
		var_Column->DisplayExpandButton = false;
		var_Column->AllowSort = false;
		var_Column->AllowDragging = false;
		var_Column->Position = 0;
		var_Column->HeaderAlignment = Exgridlib_tlb::AlignmentEnum::CenterAlignment;
Grid1->ColumnAutoResize = false;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item 1"));
	var_Items->AddItem(TVariant("Item 2"));
	var_Items->AddItem(TVariant("Item 3"));
	var_Items->AddItem(TVariant("Item 4"));
Grid1->EndUpdate();
OutputDebugString( PChar(Grid1->Export(TVariant(""),TNoParam())) );

1069:
FilterBarCaption ALLUI Keyword ( sample 3, result, leaf )

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddGroupItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
		var_Items->set_ItemBackColor(Item,RGB(240,240,240));
		TVariant val = TVariant(var_Items->get_CellValue(TVariant(Item),TVariant(var_Items->get_GroupItem(Item))));
		var_Items->set_CellState(TVariant(Item),TVariant(var_Items->get_GroupItem(Item)),Grid1->FormatABC(L"A = `Checked` ? 1 : 0",TVariant(val),TNoParam(),TNoParam()));
}

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Grid1->FormatABC(L"value + 1",Grid1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Grid1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
}

Grid1->BeginUpdate();
Grid1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->Add(L"Check");
	var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exgridlib_tlb::FilterTypeEnum::exCheck;
Exgridlib_tlb::IColumnPtr var_Column3 = Grid1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exgridlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox;
Exgridlib_tlb::IColumnPtr var_Column4 = Grid1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 rpos ``";
	var_Column4->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Grid1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = TVariant(String("(( ( 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>` + ( matc" +
"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + leafitemcount + ` result(s)` ) : (`<r><fgcolor=808080>`+ leafitemcount + `" +
" item(s)`) )))");
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->AllowGroupBy = true;
Grid1->SortBarVisible = true;
Exgridlib_tlb::IColumnPtr var_Column5 = Grid1->Columns->get_Item(TVariant(2));
	var_Column5->FormatColumn = L"%CS2 ? `Checked` : `Unchecked`";
	var_Column5->SortOrder = Exgridlib_tlb::SortOrderEnum::SortAscending;
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = true;
Grid1->DefaultItemHeight = 20;
Grid1->VisualAppearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1m") +
"Y1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2h" +
"hWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY" +
"6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQR" +
"JSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd" +
"0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA=="));
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Default");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Position");
	var_Column1->FormatColumn = L"1 rindex ``";
	var_Column1->Visible = false;
Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Grid1->ConditionalFormats->Add(L"%C1 mod 2",TNoParam());
	var_ConditionalFormat->BackColor = 0x1000000;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item 1"));
	var_Items->AddItem(TVariant("Item 2"));
	var_Items->AddItem(TVariant("Item 3"));
	var_Items->AddItem(TVariant("Item 4"));
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Default");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Position");
	var_Column1->FormatColumn = L"( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )";
	var_Column1->Visible = false;
Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Grid1->ConditionalFormats->Add(L"%C1 mod 2",TNoParam());
	var_ConditionalFormat->BackColor = RGB(240,240,240);
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	h = var_Items->AddItem(TVariant("Root 3"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
Grid1->EndUpdate();

1066:
Is it possible to change the caption from a column without to remove the column and add it with the new caption
Grid1->Columns->Add(L"ColumnName")->Caption = L"NewName";
Grid1->Columns->Add(L"ColumnName")->HTMLCaption = L"<b>New</b>Name";

1065:
FilterBarCaption ALL Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Grid1->FormatABC(L"value + 1",Grid1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Grid1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
}

Grid1->BeginUpdate();
Grid1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->Add(L"Check");
	Exgridlib_tlb::IEditorPtr var_Editor = var_Column2->Editor;
		var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exgridlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exgridlib_tlb::FilterTypeEnum::exCheck;
Exgridlib_tlb::IColumnPtr var_Column3 = Grid1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exgridlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox;
Exgridlib_tlb::IColumnPtr var_Column4 = Grid1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 apos ``";
	var_Column4->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Grid1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = TVariant(String("(( ( 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>` + ( matchi" +
"temcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount" +
" + ` item(s)`) )))");
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column5 = Grid1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
Grid1->Columns->get_Item(TVariant(2))->Filter = L"1";
Grid1->ApplyFilter();
Grid1->EndUpdate();

1064:
FilterBarCaption ALL Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Grid1->FormatABC(L"value + 1",Grid1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Grid1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
}

Grid1->BeginUpdate();
Grid1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->Add(L"Check");
	Exgridlib_tlb::IEditorPtr var_Editor = var_Column2->Editor;
		var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exgridlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exgridlib_tlb::FilterTypeEnum::exCheck;
Exgridlib_tlb::IColumnPtr var_Column3 = Grid1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exgridlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox;
Exgridlib_tlb::IColumnPtr var_Column4 = Grid1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 apos ``";
	var_Column4->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Grid1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = L"all";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column5 = Grid1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
Grid1->Columns->get_Item(TVariant(2))->Filter = L"1";
Grid1->ApplyFilter();
Grid1->EndUpdate();

1063:
FilterBarCaption ALLUI Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Grid1->FormatABC(L"value + 1",Grid1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Grid1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
}

Grid1->BeginUpdate();
Grid1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->Add(L"Check");
	Exgridlib_tlb::IEditorPtr var_Editor = var_Column2->Editor;
		var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exgridlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exgridlib_tlb::FilterTypeEnum::exCheck;
Exgridlib_tlb::IColumnPtr var_Column3 = Grid1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exgridlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox;
Exgridlib_tlb::IColumnPtr var_Column4 = Grid1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 apos ``";
	var_Column4->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Grid1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = TVariant(String("(( ( 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>` + ( matc" +
"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
"nt + ` item(s)`) )))");
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column5 = Grid1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
Grid1->Columns->get_Item(TVariant(2))->Filter = L"1";
Grid1->ApplyFilter();
Grid1->EndUpdate();

1062:
FilterBarCaption ALLUI Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Grid1->FormatABC(L"value + 1",Grid1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Grid1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
}

Grid1->BeginUpdate();
Grid1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->Add(L"Check");
	Exgridlib_tlb::IEditorPtr var_Editor = var_Column2->Editor;
		var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exgridlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exgridlib_tlb::FilterTypeEnum::exCheck;
Exgridlib_tlb::IColumnPtr var_Column3 = Grid1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exgridlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox;
Exgridlib_tlb::IColumnPtr var_Column4 = Grid1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 apos ``";
	var_Column4->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Grid1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = L"allui";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column5 = Grid1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
Grid1->Columns->get_Item(TVariant(2))->Filter = L"1";
Grid1->ApplyFilter();
Grid1->EndUpdate();

1061:
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Grid1->FormatABC(L"value + 1",Grid1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Grid1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
}

Grid1->BeginUpdate();
Grid1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->Add(L"Check");
	Exgridlib_tlb::IEditorPtr var_Editor = var_Column2->Editor;
		var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exgridlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exgridlib_tlb::FilterTypeEnum::exCheck;
Exgridlib_tlb::IColumnPtr var_Column3 = Grid1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exgridlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox;
Exgridlib_tlb::IColumnPtr var_Column4 = Grid1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 apos ``";
	var_Column4->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Grid1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = TVariant(String("(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( ava") +
"ilable 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)`) )))");
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column5 = Grid1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
Grid1->Columns->get_Item(TVariant(2))->Filter = L"1";
Grid1->ApplyFilter();
Grid1->EndUpdate();

1060:
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Grid1AddItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Grid1->FormatABC(L"value + 1",Grid1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Grid1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
}

Grid1->BeginUpdate();
Grid1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->Add(L"Check");
	Exgridlib_tlb::IEditorPtr var_Editor = var_Column2->Editor;
		var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exgridlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exgridlib_tlb::FilterTypeEnum::exCheck;
Exgridlib_tlb::IColumnPtr var_Column3 = Grid1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exgridlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox;
Exgridlib_tlb::IColumnPtr var_Column4 = Grid1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 apos ``";
	var_Column4->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Grid1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = L"value + ` ` + available";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column5 = Grid1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
Grid1->Columns->get_Item(TVariant(2))->Filter = L"1";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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 )

Grid1->BeginUpdate();
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->Add(L"Pos");
	var_Column2->AllowSizing = false;
	var_Column2->AllowSort = false;
	var_Column2->Width = 32;
	var_Column2->FormatColumn = L"1 apos ``";
	var_Column2->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item B"))),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Grid1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",TVariant(Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = TVariant(String("(`<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> ` replac" +
"e `]` with ` </b></bgcolor></fgcolor>`");
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarToggle;
Exgridlib_tlb::IColumnPtr var_Column3 = Grid1->Columns->get_Item(TVariant(0));
	var_Column3->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column3->Filter = L"Item A|Item B";
Exgridlib_tlb::IColumnPtr var_Column4 = Grid1->Columns->get_Item(TVariant(1));
	var_Column4->FilterType = Exgridlib_tlb::FilterTypeEnum::exPattern;
	var_Column4->Filter = L"*B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->Add(L"Pos");
	var_Column2->AllowSizing = false;
	var_Column2->AllowSort = false;
	var_Column2->Width = 32;
	var_Column2->FormatColumn = L"1 apos ``";
	var_Column2->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item B"))),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Grid1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",TVariant(Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = L"value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarToggle;
Exgridlib_tlb::IColumnPtr var_Column3 = Grid1->Columns->get_Item(TVariant(0));
	var_Column3->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column3->Filter = L"Item A|Item B";
Exgridlib_tlb::IColumnPtr var_Column4 = Grid1->Columns->get_Item(TVariant(1));
	var_Column4->FilterType = Exgridlib_tlb::FilterTypeEnum::exPattern;
	var_Column4->Filter = L"*B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->Add(L"Pos");
	var_Column2->AllowSizing = false;
	var_Column2->AllowSort = false;
	var_Column2->Width = 32;
	var_Column2->FormatColumn = L"1 apos ``";
	var_Column2->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item B"))),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Grid1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",TVariant(Grid1->Description[Exgridlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = L"value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarToggle;
Exgridlib_tlb::IColumnPtr var_Column3 = Grid1->Columns->get_Item(TVariant(0));
	var_Column3->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column3->Filter = L"Item A|Item B";
Exgridlib_tlb::IColumnPtr var_Column4 = Grid1->Columns->get_Item(TVariant(1));
	var_Column4->FilterType = Exgridlib_tlb::FilterTypeEnum::exPattern;
	var_Column4->Filter = L"*B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Item");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Pos");
	var_Column1->AllowSizing = false;
	var_Column1->AllowSort = false;
	var_Column1->Width = 32;
	var_Column1->FormatColumn = L"1 apos ``";
	var_Column1->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarCaption = L"`<r>` + value";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseOnRight | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarToggle;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->get_Item(TVariant(0));
	var_Column2->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column2->Filter = L"Item B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Item");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exgridlib_tlb::FilterListEnum::exShowExclude | Exgridlib_tlb::FilterListEnum::exShowFocusItem | Exgridlib_tlb::FilterListEnum::exShowCheckBox | Exgridlib_tlb::FilterListEnum::exSortItemsAsc;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Pos");
	var_Column1->AllowSizing = false;
	var_Column1->AllowSort = false;
	var_Column1->Width = 32;
	var_Column1->FormatColumn = L"1 apos ``";
	var_Column1->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->FilterBarPrompt = PChar(Grid1->FormatABC(L"`<b>` + value",TVariant(Grid1->FilterBarPrompt),TNoParam(),TNoParam()));
Grid1->FilterBarCaption = TVariant(String("`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount ") +
"+ 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )");
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseOnRight | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->FilterBarCaption = TVariant(String("`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount ") +
"+ 1) + ` result(s)` ) : ``)");
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->FilterBarCaption = L"`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->FilterBarCaption = L"`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

1051:
FilterBarCaption Predefined Keywords

// AfterExpandItem event - Fired after an item is expanded (collapsed).
void __fastcall TForm1::Grid1AfterExpandItem(TObject *Sender,Exgridlib_tlb::HITEM   Item)
{
	Grid1->Refresh();
}

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Check");
	Exgridlib_tlb::IEditorPtr var_Editor = var_Column->Editor;
		var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exgridlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterType = Exgridlib_tlb::FilterTypeEnum::exCheck;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Pos");
	var_Column1->AllowSizing = false;
	var_Column1->AllowSort = false;
	var_Column1->Width = 32;
	var_Column1->FormatColumn = L"1 apos ``";
	var_Column1->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellState(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Sub-Item B1"))),TVariant(1),1);
	var_Items->InsertItem(h,TNoParam(),TVariant("Sub-Item B2"));
	var_Items->set_ExpandItem(h,true);
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterInclude = Exgridlib_tlb::FilterIncludeEnum::exItemsWithChilds;
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->FilterBarCaption = TVariant(String("`<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=8" +
"08080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount +" +
" `</fgcolor>`");
Grid1->FilterBarPromptPattern = L"B";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->get_Item(TVariant(0));
	var_Column2->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column2->Filter = L"Item A|Item B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarFont = (IFontDisp*)(Grid1->Font);
Grid1->FilterBarCaption = L"`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value";
Grid1->FilterBarPromptPattern = L"B";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseOnRight | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarToggle | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->FilterBarPrompt = PChar(Grid1->FormatABC(L"`<r>` + value",TVariant(Grid1->FilterBarPrompt),TNoParam(),TNoParam()));
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->RightToLeft = true;
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarToggle | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJ") +
"jyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKm" +
"SZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OR" +
"OicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2" +
"DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJX" +
"AiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaK" +
"JDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G" +
"0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEA" +
"kjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRS" +
"MRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhA" +
"QHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ"));
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarToggle | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exFooterFilterBarButton] = 0x1000000;
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exFooterFilterBarButton] = RGB(255,0,0);
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exFooterFilterBarButton] = -1;
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
	var_Items->set_LockedItemCount(Exgridlib_tlb::VAlignmentEnum::exBottom,1);
	long h = var_Items->get_LockedItem(Exgridlib_tlb::VAlignmentEnum::exBottom,0);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("<c><fgcolor=808080>Press the CTRL + F to turn on/off the control's filter bar. ALT + Up/Down moves the focus."));
	var_Items->set_CellValueFormat(TVariant(h),TVariant(0),Exgridlib_tlb::ValueFormatEnum::exHTML);
Grid1->FilterBarCaption = L"`<r><fgcolor=808080>` + value";
Grid1->FilterBarPromptPattern = L"B";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarToggle | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarCaption = L"len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarCaption = L"`<r>` + value";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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.
void __fastcall TForm1::Grid1Click(TObject *Sender)
{
	Grid1->ClearFilter();
}

// FilterChange event - Occurs when filter was changed.
void __fastcall TForm1::Grid1FilterChange(TObject *Sender)
{
	OutputDebugString( L"Items.MatchItemCount" );
	OutputDebugString( PChar(Grid1->Items->MatchItemCount) );
	OutputDebugString( PChar(Grid1->FormatABC(L"value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",Grid1->Items->MatchItemCount,TNoParam(),TNoParam())) );
}

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->FilterBarPromptPattern = L"Item";
Grid1->EndUpdate();

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.
void __fastcall TForm1::Grid1Click(TObject *Sender)
{
	Grid1->ClearFilter();
}

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->FilterBarPromptPattern = L"B";
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarPromptPattern = L"B";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Grid1->FilterBarPromptPattern = L"B";
Grid1->EndUpdate();

1036:
Is it possible to prevent closing the control's filter bar, so it is always shown

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Grid1->FilterBarCaption = L"len(value) = 0 ? `<fgcolor=808080>no filter` : value";
Grid1->FilterBarPromptVisible = Exgridlib_tlb::FilterBarVisibleEnum::exFilterBarVisible;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exgridlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item B";
Grid1->ApplyFilter();
Grid1->EndUpdate();

1035:
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Grid1->VisualDesign = TVariant(String("gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGc") +
"TSBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCi" +
"CQQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4" +
"bg2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6" +
"N4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhg" +
"hWDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkM" +
"hAg6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOggl" +
"oFoqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyT" +
"KMszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBh" +
"FkXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDE" +
"gEYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xx" +
"SCxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNU" +
"BoQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ=");
Grid1->Columns->Add(L"Column");
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child"));
Grid1->EndUpdate();

1034:
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)

Grid1->BeginUpdate();
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->Add(3,TVariant(String("gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") +
"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +
"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" +
"gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" +
"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA="));
	var_Appearance->Add(1,TVariant("CP:3 -2 -2 2 2"));
	var_Appearance->Add(4,TVariant(String("gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") +
"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +
"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" +
"FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" +
"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI="));
	var_Appearance->Add(2,TVariant("CP:4 -2 -2 2 2"));
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exGroupLinesAtRoot;
Grid1->HasButtons = Exgridlib_tlb::ExpandButtonEnum::exCustom;
Grid1->HasButtonsCustom[false] = 16777216;
Grid1->HasButtonsCustom[true] = 33554432;
Grid1->Columns->Add(L"Column");
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child"));
Grid1->EndUpdate();

1033:
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)

Grid1->BeginUpdate();
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->Add(1,TVariant("XP:TREEVIEW 2 1"));
	var_Appearance->Add(2,TVariant("XP:TREEVIEW 2 2"));
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exTreeGlyphOpen] = 0x1000000;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exTreeGlyphClose] = 0x2000000;
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Grid1->Columns->Add(L"Column");
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child"));
Grid1->EndUpdate();

1032:
How can I find if the control is running in DPI mode
OutputDebugString( PChar(Grid1->FormatABC(L"dpi = 1 ? `normal/stretch mode` : `dpi mode`",TNoParam(),TNoParam(),TNoParam())) );

1031:
How can I change the visual appearance of the +/- buttons (method 1)

Grid1->BeginUpdate();
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") +
"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +
"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" +
"gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" +
"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") +
"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +
"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" +
"FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" +
"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI="));
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exTreeGlyphOpen] = 0x1000000;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exTreeGlyphClose] = 0x2000000;
Grid1->Columns->Add(L"Column");
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child"));
Grid1->EndUpdate();

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.
void __fastcall TForm1::Grid1SelectionChanged(TObject *Sender)
{
	OutputDebugString( L"SelectionChanged" );
}

Grid1->BeginUpdate();
Grid1->FreezeEvents(true);
Grid1->SingleSel = true;
Grid1->SelectOnRelease = true;
Grid1->Columns->Add(L"Column")->FormatColumn = L"1 apos `A-Z`";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->set_SelectItem(var_Items->AddItem(TVariant("")),true);
	var_Items->AddItem(TVariant(""));
Grid1->FreezeEvents(false);
Grid1->EndUpdate();

1029:
Is it possible to select nothing
// SelectionChanged event - Fired after a new item has been selected.
void __fastcall TForm1::Grid1SelectionChanged(TObject *Sender)
{
	OutputDebugString( L"SelectionChanged" );
}

Grid1->BeginUpdate();
Grid1->FreezeEvents(true);
Grid1->AllowSelectNothing = true;
Grid1->Columns->Add(L"Column")->FormatColumn = L"1 apos `A-Z`";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->set_SelectItem(var_Items->AddItem(TVariant("")),true);
	var_Items->AddItem(TVariant(""));
Grid1->FreezeEvents(false);
Grid1->EndUpdate();

1028:
How can I specify the color for control's selection when it loses the focus

Grid1->BeginUpdate();
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"");
	var_Column->AllowSizing = false;
	var_Column->AllowDragging = false;
	var_Column->AllowSort = false;
	var_Column->Width = 24;
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasButton,TVariant(true));
Grid1->Columns->Add(L"Column")->FormatColumn = L"1 apos `A-Z`";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->set_SelectItem(var_Items->AddItem(TVariant("")),true);
	var_Items->AddItem(TVariant(""));
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exSelBackColorHide] = RGB(196,196,196);
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exSelForeColorHide] = RGB(0,0,1);
Grid1->EndUpdate();

1027:
How can I change the background color for checked items (EBN color, frame)

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::Grid1CellStateChanged(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex)
{
	Grid1->Refresh();
}

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Grid1->SelBackMode = Exgridlib_tlb::BackModeEnum::exTransparent;
Grid1->DefaultItemHeight = 22;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABUkIQAAYAQGKIcBiAKBQAGYBIJDEMQ3DjAUBjMK4ZwTC4AIQjCK4JDKHYJRpHEZgLBMJAAGIZYhhUYRUiYMkiJBGGDIDiGGI2SJAcbTVIEc") +
"x9EyUJSgSTJOjCMokTTIU4TTLYASbJafJJhWSaAiyMouDIOMg1BDNIw/Hika6jOgKUisNJXRzWIBTbDlOQ3JqnbCjOQRSrQBoNDAMAiiaKlbwJPK9RoieQXfwUAJrXJc" +
"FqXFSLVxNBKAQEBA="));
	var_Appearance->Add(1,TVariant("CP:2 1 1 -1 -1"));
Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Grid1->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
	var_ConditionalFormat->BackColor = 0x1000000;
Grid1->HeaderVisible = true;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();

1026:
How can I change the caption of the checked items (sample 2)

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column->FormatColumn = L"%CS0 = 1 ? `<bgcolor=000000><fgcolor=FFFFFF> ` + value + ` </fgcolor></bgcolor>` : value";
Grid1->HeaderVisible = true;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();

1025:
How can I change the caption of the checked items (sample 1)

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column->FormatColumn = L"value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)";
Grid1->HeaderVisible = true;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();

1024:
How can I change the font for the checked items

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::Grid1CellStateChanged(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex)
{
	Grid1->Refresh();
}

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Grid1->DefaultItemHeight = 22;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Grid1->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
	/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		OLE Automation

	TypeLib: stdole2.tlb

	to define the namespace: Stdole_tlb
*/
//#include "STDOLE_TLB.h"
	Stdole_tlb::FontPtr f = Variant::CreateObject(L"StdFont");
		f->Name = Grid1->Font->Name;
		f->Size = TVariant(long(12));
	var_ConditionalFormat->Font = (IFontDisp*)(f);
Grid1->HeaderVisible = true;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();

1023:
How can I bold the checked items

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::Grid1CellStateChanged(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex)
{
	Grid1->Refresh();
}

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Grid1->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
	var_ConditionalFormat->Bold = true;
Grid1->HeaderVisible = true;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();

1022:
How can I change the foreground color for checked items

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::Grid1CellStateChanged(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex)
{
	Grid1->Refresh();
}

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Grid1->SelBackMode = Exgridlib_tlb::BackModeEnum::exTransparent;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Grid1->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
	var_ConditionalFormat->ForeColor = RGB(255,128,128);
Grid1->HeaderVisible = true;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();

1021:
How can I change the background color for checked items (solid color)

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::Grid1CellStateChanged(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex)
{
	Grid1->Refresh();
}

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Grid1->SelBackMode = Exgridlib_tlb::BackModeEnum::exTransparent;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Grid1->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
	var_ConditionalFormat->BackColor = RGB(255,128,128);
Grid1->HeaderVisible = true;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->set_CellState(TVariant(hChild),TNoParam(),1);
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();

1020:
How can I export the cell's state as well

Grid1->BeginUpdate();
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	var_Columns->Add(L"C1")->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Columns->Add(L"C2")->FormatColumn = L"1 index `A-Z`";
	var_Columns->Add(L"C3")->FormatColumn = L"100 index ``";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item 1"));
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TNoParam(),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 3"))),TNoParam(),1);
Grid1->EndUpdate();
OutputDebugString( L"Export CSV Items including Check-State:" );
Grid1->BeginUpdate();
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Check");
	var_Column->Position = 0;
	var_Column->FormatColumn = L"%CS0";
OutputDebugString( PChar(Grid1->Export(TVariant(""),TNoParam())) );
Grid1->Columns->Remove(TVariant("Check"));
Grid1->EndUpdate();

1019:
Is it possible to customize the editor selection colour of the built in text editor, from standard blue to black

Grid1->BeginUpdate();
Grid1->SelBackColor = RGB(0,0,0);
Grid1->SelForeColor = RGB(255,255,255);
Exgridlib_tlb::IEditorPtr var_Editor = Grid1->Columns->Add(L"Edit")->Editor;
	var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::MaskType;
	var_Editor->Mask = L";;;rich";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->AddItem(TVariant("Just a text"));
	var_Items->AddItem(TVariant(""));
Grid1->EndUpdate();

1018:
Is it possible to customize the editor selection colour of the built in dropdown editor, from standard blue to black

Grid1->BeginUpdate();
Grid1->SelBackColor = RGB(0,0,0);
Grid1->SelForeColor = RGB(255,255,255);
Exgridlib_tlb::IEditorPtr var_Editor = Grid1->Columns->Add(L"DropDown")->Editor;
	var_Editor->AddItem(1,L"This is just the first item",TNoParam());
	var_Editor->AddItem(2,L"This is just the second item",TNoParam());
	var_Editor->AddItem(3,L"This is just the third item",TNoParam());
	var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::DropDownType;
	var_Editor->Mask = L";;;rich";
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->AddItem(TVariant("Just a text"));
	var_Items->AddItem(TVariant(""));
Grid1->EndUpdate();

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).
void __fastcall TForm1::Grid1BeforeExpandItem(TObject *Sender,Exgridlib_tlb::HITEM   Item,Variant *   Cancel)
{
	OutputDebugString( L"BeforeExpandItem" );
	OutputDebugString( L"Item" );
	OutputDebugString( L"ColumnFromPoint" );
	OutputDebugString( PChar(Grid1->ColumnFromPoint[-1,-1]) );
	OutputDebugString( L"ColumnFromPoint return -1, if the user clicks the +/- glitch, else it returns the index of the column where the click occurs." );
	Grid1->Items->InsertItem(Item,TNoParam(),TVariant("new child"));
}

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	var_Columns->Add(L"Items")->DisplayFilterButton = true;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_ItemHasChildren(var_Items->InsertItem(TNoParam(),TNoParam(),TVariant("Group 1")),true);
	var_Items->set_ItemHasChildren(var_Items->InsertItem(TNoParam(),TNoParam(),TVariant("Group 2")),true);
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") +
"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA"));
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x1000000;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::None2;
Grid1->BackColorHeader = RGB(0,0,0);
Grid1->ForeColorHeader = RGB(255,255,255);
Grid1->HeaderVisible = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Filter");
	var_Column->DisplayFilterButton = true;
	var_Column->AllowSort = false;
	var_Column->AllowDragging = false;
Grid1->EndUpdate();

1015:
How do I change the drop down filter icon/button (white)

Grid1->BeginUpdate();
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN") +
"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI="));
	var_Appearance->Add(1,TVariant("CP:2 -4 -4 2 4"));
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x1000000;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = Grid1->BackColor;
Grid1->HeaderAppearance = Exgridlib_tlb::AppearanceEnum::None2;
Grid1->HeaderHeight = 24;
Grid1->BackColorHeader = RGB(255,255,255);
Grid1->HeaderVisible = true;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Filter");
	var_Column->DisplayFilterButton = true;
	var_Column->AllowSort = false;
	var_Column->AllowDragging = false;
Grid1->EndUpdate();

1014:
How can I draw a solid frame around the the focusing item

Grid1->BeginUpdate();
Grid1->SingleSel = false;
Grid1->DefaultItemHeight = 20;
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->RenderType = -1;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABOkGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEwpFAZBhgeDYMiSNoYDJCM4wH") +
"IURRJFCUJSGWQpTgSIgyT5HFIxXKoASbJabZLhWS6EpWOotTbIQQRYCkEyfKKfZyGURZQqOKA1DBZErWTJESRFJqLazgO4LAhyQYrVgAErzVKVCRNOqbJzADApdpGQJT" +
"ULDNTQHRFIyhOSnIRrWbMAhid6JUZiVT4dBOIYhSYANAqCwLFqrDJmWrpV5WZjlZ47V6BdAyXJsIrmFJEXaOGhyDDlGybSDZYryfZhUziUw4XjbWwZDqPF6DKTTdSGLR" +
"EE8WZVlURZvDaep3C+AY8kAYRgGCCBJECUhjDoHROEYWgoAGTQ1CEEx9lGMY0CQUYSnuZQDBGBYFlOH5+H+igGAKAJgEgFgGgGVgDn4CoCmCSA2A6A5hAgDgQgSYRIE4" +
"EoFGGCBiBeBhhkgPgbgcYgICoH4IGGWIOCSBhiGiHgVgoYooFoAoLGIWI+DCCgjCiTgrgII4ImYOoOmOSJ2AYOpWlQDQBICA="));
Grid1->ShowFocusRect = true;
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exShowFocusRect] = 0x1000000;
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"P1");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Root"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();

1013:
The frame around the focusing item is not very clear. Can I show it larger or more cleared (sample 2)

Grid1->BeginUpdate();
Grid1->SingleSel = false;
Grid1->DefaultItemHeight = 20;
Grid1->ShowFocusRect = true;
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->RenderType = -1;
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEwpFAZBhgeCRUgyJI3RgMUIzV") +
"AcRRFEiUJQlIZZCjOAw0SIMU7xZRcNxsACnaZnCR4NiuRYiUhOcqzRIQIQ4CiEahqOgJbDUJYwWZKAyjBY8XTZFCSJCpeJ6egOc5jRxQUp1WAEXx3GSsJKvCZ5cADBY+" +
"VLQNS0JBtMSTKSLaiuWoIJqCPaDRheWKQJh1NSnLqEcjyYANDxDCZlWzAYxWTZ2Uz7N7PbB0HY4DyPGKZYrfESVRbQcZNS6nNigPI9XhfGq6VjRe63ZaOaYpWrnOJqTR" +
"WjOKYujWdZ2BGO5lkuBAAkmcQkDmDBEAwEQJCgGhMGcQ4pkiSxGAAOYmkQIhvkYNg2gSCgyj+LI4GIMIwF2XQoAYAoAmASAWAaAZgggJgKFiT54DYDoDmECBGBKBJgGg" +
"TgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChiigYgsgsYYYBYMIKCMKJOCuDRjGiOgLg6Y5InYPoPmQCAkmsXAQDQBCAg="));
	var_Appearance->Add(3,TVariant("CP:2 -3 0 3 0"));
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exShowFocusRect] = 0x3010101;
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"P1");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Root"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();

1012:
The frame around the focusing item is not very clear. Can I show it larger or more cleared (sample 1)

Grid1->BeginUpdate();
Grid1->SingleSel = false;
Grid1->ShowFocusRect = true;
Exgridlib_tlb::IAppearancePtr var_Appearance = Grid1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABHoDg6AADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASV") +
"AceAAGaUZrjSgobjmOYhAJCLqhYIgASXJqLaBlOCaAieSc+QhjQJIJoeCZXU5TFg1BTsOhqEqcRiseaRVDCaIJWzbdYWLDdNQHHKYLjnWorbpSJZ5XjNEySDQkMS9PrE" +
"J7vST8FBCdAABLJUB2BR9RwxRafKpnWwJDpmCaOQLXEB5DK1PyVMTKYrtGy7GrIAJxWxbV4UHh+QABOzIMAvHKJMwvHYcUZne5XVLeF41HbONogPaJZyIAK2cLROq6Xo" +
"7GEcJZEcLASB4DwvgWUZlE6AQQhKAYkkYdA6hyDIwHgSoqFwQgmnsYxjGgSIiBOTpSEiAwRgOJI7j4JAHA6U5wm0MpPlOBIjD8TZiGYCICiCGAuA6AxhAgMgSgOYQ4DY" +
"Bg/g6cw1n+ABOmMMJ9DmCwjnScw4RsVJngkYh4hoKIKmKKI2CmC5ikiQgqgiT5jhyMw8g4QwIn0OIKEiCJhD8DwTGyfA7k0WQOEWEQkGkJhIhKZB5DYSoTiSCQEn4PQO" +
"COXJcCeIJjliaIQk0aRyF4O5llmAhfhgZhJg4ZoYiaAxYn4PZOhOZJaCUZYTiYQw1mcOZUm+HQnHmWh4h6Z4pnYeYfk0eYsmqG4nAgNJ2DqD5DkCWoiGiOgqgyI5omoR" +
"oNiSaQKFKEojCaM4ugSFhOjkAJcieKgDkaH4oioGoOiaKRqgqEoqDddwyhuAxPgOMJ8DyDZqk6NYtCsapmjiLprHqdo6i+K5K1oPhOlqPgKD4DpjnII4yiOewuk6MxtA" +
"sMpSjObQ7EaT4wk6ewYn0PgPAiCJkjeLgDk6X44i4G4OmaORuguEpqDkLAzkaWg+E8GIUmaPIvEOVpzj2Lxbl6eo+G+S5in4OYPmOaJyjuTwjnYWpBg6DAjAqQZwkwJw" +
"NkKcJsEcEJCDBEpaD6Dw8BiapGjGSgfB2RpxmyBwgkicZ8haBw/g+M5TBcPQPlOXJskscp8jsMJMnMLJXDGTZzEyYw2kwMoDlcFw9i2M4/EGUJPg0CxFlENBtCcSJSnQ" +
"fQ0m+SgPHsaJ7lALZLG6XZVHWDRfFqVY1k0ZxdladYTnifJUGaeAWAeMnSGcGWgBObJ3lWbwdjKW5cHcTZPHaLkN4GxXDlFqFsA4uRbBOGAFAEIzAsDEFOBkfYqR4D6A" +
"OBEYo8QuBvAmMceInBDgcD0JwOIqQyJ1DMAwG4IANDnHSMoK4QhOgMBGNEIQvQWAdGenETIswGiddsAAQAgCAgA=="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABeEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADDFIBQSLAYROGSDJBGODJDjWGIeQLOEhQH") +
"IMRxPE6UYLhWYpBDKPYcUbGc7yBBMVwGf59XzACoKSheQIVSDQkw6Fo6NYhAxHALyNRkBy8f60KjtGpodDUJYvW5JYyjBZ8EznOqbJBkeJ7BgOe5NQjaD72VgdWQJFSW" +
"JajWYYJDOJY2ZAAE5TVINEwxJbDaylChIdxaF6WAzZEBhBYoATPNLBMrhWqKDw2XaQWBCOgwHYeR5LU7BdRwbIrRq2eAAXbcVyXfDddZlBK+QA0SK9lRVTKvJZmKgBWw" +
"1COSxmAAGw4kcNx1iKFBiCAfQsG8lJemucg7nsXpUHOOxrm+DI3jOH4XAOBx2nscw0j2HhPG4L5uGEVIECQCBCEUAYkGMHQHFGSBlGaAxkEgQgTGCVBsDYQhCgQJZrHK" +
"UggGEShkFGNgIlsNpPnMHJHD+TADAIJIJiIWIeCqChikiIgmgiD5zHyXxgiACJKCuC4jHiZgtg6I4IlkCQwkwOIonMPJjEkFhGhGZBpA4KoMBCGJuEiE5lAkGg7hMY4J" +
"EYVoUCUNAOE6FZl0KWQACWOR2GKF5mBmChchkJRZhoXYaCKKYqGuDglEmNhuhWZpIiYc4dCcCRqGmHZlgm2YxAwSQKESHwkFkKgpiAIAIH4PIimOOg2DiChoiQJRRD+T" +
"ZDHCfwyAyCgyg+JpiioYJ/DgDgIlECQ6lwRAEICA="));
	var_Appearance->Add(3,TVariant("CP:2 -2 0 2 0"));
Grid1->SelBackColor = 0x1000000;
Grid1->SelForeColor = RGB(0,0,0);
Grid1->Background[Exgridlib_tlb::BackgroundPartEnum::exShowFocusRect] = 0x3ff0000;
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"P1");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Root"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();

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

Grid1->BeginUpdate();
Grid1->ColumnAutoResize = true;
Grid1->DrawGridLines = Exgridlib_tlb::GridLinesEnum::exVLines;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	Exgridlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Left");
		var_Column->AllowSizing = false;
		var_Column->Width = 96;
		var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->FormatColumn = L"0 pos `A-Z`";
	Exgridlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Center");
		var_Column1->HeaderAlignment = Exgridlib_tlb::AlignmentEnum::CenterAlignment;
		var_Column1->Alignment = var_Column1->HeaderAlignment;
		var_Column1->AllowSizing = false;
		var_Column1->Width = 96;
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->FormatColumn = L"0 pos `A-Z`";
	Exgridlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"Right");
		var_Column2->HeaderAlignment = Exgridlib_tlb::AlignmentEnum::RightAlignment;
		var_Column2->Alignment = var_Column2->HeaderAlignment;
		var_Column2->AllowSizing = false;
		var_Column2->Width = 96;
		var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->FormatColumn = L"0 pos `A-Z`";
		var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellDrawPartsOrder,TVariant("caption,check,icon,icons,picture"));
	var_Columns->Add(L"");
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(3),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(2),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(1),1);
Grid1->EndUpdate();

1010:
Can I display the column's multiple-lines caption vertically oriented (method 2)

Grid1->BeginUpdate();
Grid1->HeaderHeight = 48;
Grid1->ColumnAutoResize = true;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	var_Columns->Add(L"And others ...");
	Exgridlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"");
		var_Column->HTMLCaption = L"First Column";
		var_Column->HeaderVertical = true;
		var_Column->Width = 36;
		var_Column->AllowSizing = false;
		var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column->Position = 0;
	Exgridlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"");
		var_Column1->HTMLCaption = L"<c><b>Second Column";
		var_Column1->HeaderVertical = true;
		var_Column1->Width = 36;
		var_Column1->AllowSizing = false;
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column1->Position = 1;
	Exgridlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"");
		var_Column2->HTMLCaption = L"<r>Third Column";
		var_Column2->HeaderVertical = true;
		var_Column2->Width = 36;
		var_Column2->AllowSizing = false;
		var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column2->Position = 2;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(3),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(2),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(1),1);
Grid1->EndUpdate();

1009:
Can I display the column's multiple-lines caption vertically oriented (method 1)

Grid1->BeginUpdate();
Grid1->HeaderHeight = 48;
Grid1->HeaderSingleLine = false;
Grid1->ColumnAutoResize = true;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	var_Columns->Add(L"And others ...");
	Exgridlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"First Column");
		var_Column->HeaderVertical = true;
		var_Column->Width = 36;
		var_Column->AllowSizing = false;
		var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column->Position = 0;
	Exgridlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Second Column");
		var_Column1->HeaderBold = true;
		var_Column1->HeaderVertical = true;
		var_Column1->Width = 36;
		var_Column1->AllowSizing = false;
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column1->Position = 1;
	Exgridlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"Third Column");
		var_Column2->HeaderVertical = true;
		var_Column2->Width = 36;
		var_Column2->AllowSizing = false;
		var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column2->Position = 2;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(3),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(2),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(1),1);
Grid1->EndUpdate();

1008:
Can I display the column's caption vertically oriented (method 2)

Grid1->BeginUpdate();
Grid1->HeaderHeight = 48;
Grid1->ColumnAutoResize = true;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	var_Columns->Add(L"And others ...");
	Exgridlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"");
		var_Column->HTMLCaption = L"First";
		var_Column->HeaderVertical = true;
		var_Column->Width = 20;
		var_Column->AllowSizing = false;
		var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->Position = 0;
	Exgridlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"");
		var_Column1->HTMLCaption = L"<c><b>Second";
		var_Column1->HeaderVertical = true;
		var_Column1->Width = 20;
		var_Column1->AllowSizing = false;
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->Position = 1;
	Exgridlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"");
		var_Column2->HTMLCaption = L"<r>Third";
		var_Column2->HeaderVertical = true;
		var_Column2->Width = 20;
		var_Column2->AllowSizing = false;
		var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->Position = 2;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(3),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(2),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(1),1);
Grid1->EndUpdate();

1007:
Can I display the column's caption vertically oriented (method 1)

Grid1->BeginUpdate();
Grid1->HeaderHeight = 48;
Grid1->ColumnAutoResize = true;
Exgridlib_tlb::IColumnsPtr var_Columns = Grid1->Columns;
	var_Columns->Add(L"And others ...");
	Exgridlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"First");
		var_Column->HeaderVertical = true;
		var_Column->Width = 20;
		var_Column->AllowSizing = false;
		var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->Position = 0;
	Exgridlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Second");
		var_Column1->HeaderBold = true;
		var_Column1->HeaderVertical = true;
		var_Column1->Width = 20;
		var_Column1->AllowSizing = false;
		var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->Position = 1;
	Exgridlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"Third");
		var_Column2->HeaderVertical = true;
		var_Column2->Width = 20;
		var_Column2->AllowSizing = false;
		var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->Position = 2;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(3),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(2),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(1),1);
Grid1->EndUpdate();

1006:
How do I automatically bold items being checked

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::Grid1CellStateChanged(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex)
{
}

Grid1->BeginUpdate();
Grid1->SelBackMode = Exgridlib_tlb::BackModeEnum::exTransparent;
Exgridlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Grid1->ConditionalFormats->Add(L"%CS0",TVariant("check"));
	var_ConditionalFormat->Bold = true;
Grid1->Columns->Add(L"Items")->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
Grid1->Columns->Add(Grid1->ConditionalFormats->get_Item(TVariant("check"))->Expression)->FormatColumn = Grid1->ConditionalFormats->get_Item(TVariant("check"))->Expression;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Item 1"));
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(0),1);
	var_Items->AddItem(TVariant("Item 3"));
Grid1->EndUpdate();

1005:
How can I use the CellState with ConditionalFormat/ComputedField/FormatColumn

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::Grid1CellStateChanged(TObject *Sender,Exgridlib_tlb::HITEM   Item,long   ColIndex)
{
}

Grid1->BeginUpdate();
Grid1->LinesAtRoot = Exgridlib_tlb::LinesAtRootEnum::exGroupLinesInsideLeaf;
Grid1->SelBackMode = Exgridlib_tlb::BackModeEnum::exTransparent;
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Items");
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Format");
	var_Column1->FormatColumn = L"%CS0";
	var_Column1->Caption = var_Column1->FormatColumn;
	var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellForeColor,TVariant(8421504));
	var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exHeaderForeColor,TVariant(var_Column1->get_Def(Exgridlib_tlb::DefColumnEnum::exCellForeColor)));
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	long h = var_Items->AddItem(TVariant("Root"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Item 1"));
	var_Items->set_CellState(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Item 2"))),TVariant(0),1);
	var_Items->set_CellState(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Item 3"))),TVariant(0),1);
	var_Items->set_ExpandItem(h,true);
Grid1->EndUpdate();

1004:
How can I use the CellData with ConditionalFormat/ComputedField/FormatColumn

Grid1->BeginUpdate();
Grid1->Columns->Add(L"Items");
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Format");
	var_Column->FormatColumn = L"%CD0";
	var_Column->Caption = var_Column->FormatColumn;
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exCellForeColor,TVariant(8421504));
	var_Column->set_Def(Exgridlib_tlb::DefColumnEnum::exHeaderForeColor,TVariant(var_Column->get_Def(Exgridlib_tlb::DefColumnEnum::exCellForeColor)));
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->set_CellData(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(0),TVariant(1234));
	var_Items->set_CellData(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(0),TVariant("this is just an user data"));
	var_Items->set_CellData(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(0),TVariant(TDateTime(2001,1,1).operator double()));
Grid1->EndUpdate();

1003:
How can I use the CellValue/CellCaption with ConditionalFormat/ComputedField/FormatColumn

Grid1->BeginUpdate();
Exgridlib_tlb::IColumnPtr var_Column = Grid1->Columns->Add(L"Items");
	Exgridlib_tlb::IEditorPtr var_Editor = var_Column->Editor;
		var_Editor->EditType = Exgridlib_tlb::EditTypeEnum::DropDownListType;
		var_Editor->AddItem(1,L"Item 1",TNoParam());
		var_Editor->AddItem(2,L"Item 2",TNoParam());
		var_Editor->AddItem(3,L"Item 3",TNoParam());
Exgridlib_tlb::IColumnPtr var_Column1 = Grid1->Columns->Add(L"Format");
	var_Column1->FormatColumn = L"%0";
	var_Column1->Caption = var_Column1->FormatColumn;
	var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exCellForeColor,TVariant(8421504));
	var_Column1->set_Def(Exgridlib_tlb::DefColumnEnum::exHeaderForeColor,TVariant(var_Column1->get_Def(Exgridlib_tlb::DefColumnEnum::exCellForeColor)));
	var_Column1->AllowSizing = false;
Exgridlib_tlb::IColumnPtr var_Column2 = Grid1->Columns->Add(L"Format");
	var_Column2->FormatColumn = L"%C0";
	var_Column2->Caption = var_Column2->FormatColumn;
	var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exCellForeColor,TVariant(8421504));
	var_Column2->set_Def(Exgridlib_tlb::DefColumnEnum::exHeaderForeColor,TVariant(var_Column2->get_Def(Exgridlib_tlb::DefColumnEnum::exCellForeColor)));
	var_Column2->AllowSizing = false;
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant(1));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(0))),TVariant(0),TVariant(2));
	var_Items->AddItem(TVariant(2));
Grid1->EndUpdate();

1002:
Can I display the radio-button with a solid color

Grid1->BeginUpdate();
Grid1->RadioImage[false] = 32699122;
Grid1->RadioImage[true] = 16777216;
Grid1->Columns->Add(L"Check")->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasRadioButton,TVariant(true));
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Radio 1"));
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Radio 2"))),TVariant(0),1);
	var_Items->AddItem(TVariant("Radio 1"));
Grid1->EndUpdate();

1001:
Can I display the check-box with a solid color

Grid1->BeginUpdate();
Grid1->CheckImage[Exgridlib_tlb::CheckStateEnum::Unchecked] = 32699122;
Grid1->CheckImage[Exgridlib_tlb::CheckStateEnum::Checked] = 16777216;
Grid1->Columns->Add(L"Check")->set_Def(Exgridlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
Exgridlib_tlb::IItemsPtr var_Items = Grid1->Items;
	var_Items->AddItem(TVariant("Check 1"));
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Check 2"))),TVariant(0),1);
	var_Items->AddItem(TVariant("Check 3"));
Grid1->EndUpdate();