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

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	// Items.ItemHeight(0) = View.DefaultItemHeight
	// FilterBarFont.Size = Me.Font.Size
	// ToolTipFont.Size = Me.Font.Size
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->DefaultItemHeight = 36;
		var_View->HeaderHeight = var_View->DefaultItemHeight;
		var_View->SortBarHeight = var_View->DefaultItemHeight;
		var_View->Indent = 26;
		var_View->set_CheckImage(Excascadetreelib_tlb::CheckStateEnum::Unchecked,16777216);
		var_View->set_CheckImage(Excascadetreelib_tlb::CheckStateEnum::Checked,33554432);
		var_View->set_CheckImage(Excascadetreelib_tlb::CheckStateEnum::PartialChecked,50331648);
		var_View->EnsureVisibleColumn(TVariant("Function"));
		_tlb::ObjectPtr var_Object = var_View->Columns->get_Item(TVariant("Function"));
		var_View->Columns->get_Item(TVariant(0))->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->ImageSize = 32;
CascadeTree1->Font->Size = TVariant(long(16));
CascadeTree1->Images(TVariant(String("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOq") +
"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"));
Excascadetreelib_tlb::IAppearancePtr var_Appearance = CascadeTree1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7E" +
"MRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDx" +
"RDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFY" +
"FoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4U" +
"kmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" +
"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A" +
"0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh" +
"8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2" +
"UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ=="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"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" +
"gRBCCQAgQEA=="));
	var_Appearance->Add(3,TVariant(String("gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"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"));
	var_Appearance->Add(4,TVariant(String("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA=="));
CascadeTree1->BackColorHeader = 0x4c6c6c6;
CascadeTree1->SelBackColor = 0x4000000;
CascadeTree1->SelForeColor = RGB(0,0,1);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x14)] = CascadeTree1->SelBackColor;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x15)] = CascadeTree1->SelForeColor;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x8 | Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar)] = CascadeTree1->BackColor;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x9 | Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar)] = CascadeTree1->ForeColor;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x20)] = -1;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x0)] = 0x4000000;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHeaderFilterBarActive] = 0x4010101;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x1)] = 0x40000ff;
CascadeTree1->HeaderAppearance = Excascadetreelib_tlb::AppearanceEnum::Etched;
CascadeTree1->BackColorSortBar = CascadeTree1->BackColor;
CascadeTree1->BackColorLevelHeader = CascadeTree1->BackColor;
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\MN";
CascadeTree1->EndUpdate();

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

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->EnsureVisibleColumn(TVariant("Function"));
		_tlb::ObjectPtr var_Object = var_View->Columns->get_Item(TVariant("Function"));
		var_View->Columns->get_Item(TVariant(0))->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->ImageSize = 16;
CascadeTree1->Images(TVariant(String("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOq") +
"dSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVt" +
"tmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8a" +
"cvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtT" +
"GsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgP" +
"nwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg=="));
Excascadetreelib_tlb::IAppearancePtr var_Appearance = CascadeTree1->VisualAppearance;
	var_Appearance->Add(4,TVariant(String("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA=="));
CascadeTree1->BackColorHeader = 0x4c6c6c6;
CascadeTree1->SelBackColor = 0x4000000;
CascadeTree1->SelForeColor = RGB(0,0,1);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x14)] = CascadeTree1->SelBackColor;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x15)] = CascadeTree1->SelForeColor;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x8 | Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar)] = CascadeTree1->BackColor;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x9 | Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar)] = CascadeTree1->ForeColor;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x20)] = -1;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x0)] = 0x4000000;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHeaderFilterBarActive] = 0x4010101;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x1)] = 0x40000ff;
CascadeTree1->HeaderAppearance = Excascadetreelib_tlb::AppearanceEnum::Etched;
CascadeTree1->BackColorSortBar = CascadeTree1->BackColor;
CascadeTree1->BackColorLevelHeader = CascadeTree1->BackColor;
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\MN";
CascadeTree1->EndUpdate();

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

CascadeTree1->BeginUpdate();
Excascadetreelib_tlb::IAppearancePtr var_Appearance = CascadeTree1->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 -8 -4 2 4"));
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x0)] = 0x1fefefe;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHeaderFilterBarActive] = 0x1010101;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x20)] = -1;
CascadeTree1->BackColorHeader = RGB(255,255,255);
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSingleCascadeMode;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->HeaderHeight = 28;
	var_View->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exRowLines;
	var_View->HeaderVisible = true;
	Excascadetreelib_tlb::IColumnsPtr var_Columns = var_View->Columns;
		var_Columns->Add(L"C1")->DisplayFilterButton = true;
		Excascadetreelib_tlb::IColumnPtr var_Column = var_Columns->Add(L"C2");
			var_Column->DisplayFilterButton = true;
			var_Column->Filter = L"Item 2";
			var_Column->FilterType = Excascadetreelib_tlb::FilterTypeEnum::exFilter;
		var_Columns->Add(L"C3")->DisplayFilterButton = true;
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		long h = var_Items->AddItem(TVariant("Item 1"));
		var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Item 2"));
		var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("Item 3"));
		h = var_Items->AddItem(TVariant("Item 4"));
		var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Item 5"));
		var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("Item 6"));
	var_View->ApplyFilter();
CascadeTree1->EndUpdate();

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSingleCascadeMode;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->ColumnAutoResize = true;
	var_View->FilterBarPromptVisible = Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarTop;
	var_View->HeaderHeight = 24;
	var_View->FilterBarHeight = var_View->HeaderHeight;
	var_View->HeaderAppearance = Excascadetreelib_tlb::AppearanceEnum::Flat;
	var_View->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exAllLines;
	var_View->GridLineStyle = Excascadetreelib_tlb::GridLinesStyleEnum::exGridLinesGeometric;
	Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->Add(L"Column");
		var_Column->DisplayFilterButton = true;
		var_Column->FilterType = Excascadetreelib_tlb::FilterTypeEnum::exPattern;
		var_Column->Filter = L"B*";
	Excascadetreelib_tlb::IColumnPtr var_Column1 = var_View->Columns->Add(L"Index");
		var_Column1->FormatColumn = L"1 index ``";
		var_Column1->Position = 0;
		var_Column1->Width = 48;
		var_Column1->AllowSizing = false;
		var_Column1->SortType = Excascadetreelib_tlb::SortTypeEnum::SortNumeric;
		var_Column1->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		var_Items->AddItem(TVariant("A.1"));
		var_Items->AddItem(TVariant("A.2"));
		var_Items->AddItem(TVariant("B.1"));
		var_Items->AddItem(TVariant("B.2"));
		var_Items->AddItem(TVariant("B.3"));
		var_Items->AddItem(TVariant("C"));
	var_View->ApplyFilter();
CascadeTree1->EndUpdate();

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

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		TVariant k = TVariant(var_View->ParentView->get_Value(TNoParam()));
		var_View->BeginUpdate();
		var_View->ColumnAutoResize = true;
		var_View->Columns->Add(L"k");
		Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 1`",TVariant(k),TNoParam(),TNoParam())));
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 2`",TVariant(k),TNoParam(),TNoParam())));
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 3`",TVariant(k),TNoParam(),TNoParam())));
		var_View->EndUpdate();
}

CascadeTree1->BeginUpdate();
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
	var_View->BeginUpdate();
	var_View->ColumnAutoResize = true;
	Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->Add(L"Default");
		var_Column->AllowSort = false;
		var_Column->AllowDragging = false;
	var_View->set_Key(TVariant(0));
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		var_Items->AddItem(TVariant("Item A"));
		var_Items->set_SelectItem(var_Items->AddItem(TVariant("Item B")),true);
		var_Items->AddItem(TVariant("Item C"));
	var_View->EndUpdate();
CascadeTree1->EndUpdate();

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

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		TVariant k = TVariant(var_View->ParentView->get_Value(TNoParam()));
		var_View->BeginUpdate();
		var_View->ColumnAutoResize = true;
		var_View->Columns->Add(L"k");
		Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 1`",TVariant(k),TNoParam(),TNoParam())));
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 2`",TVariant(k),TNoParam(),TNoParam())));
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 3`",TVariant(k),TNoParam(),TNoParam())));
		var_View->EndUpdate();
}

CascadeTree1->BeginUpdate();
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x20)] = -1;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
	var_View->BeginUpdate();
	var_View->ColumnAutoResize = true;
	var_View->Columns->Add(L"Default");
	var_View->set_Key(TVariant(0));
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		var_Items->AddItem(TVariant("Item A"));
		var_Items->set_SelectItem(var_Items->AddItem(TVariant("Item B")),true);
		var_Items->AddItem(TVariant("Item C"));
	var_View->EndUpdate();
CascadeTree1->EndUpdate();

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

CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSingleCascadeMode;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->BeginUpdate();
	var_View->HeaderSingleLine = false;
	var_View->HeaderHeight = 36;
	var_View->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exRowLines;
	var_View->ColumnAutoResize = false;
	var_View->ScrollBySingleLine = true;
	Excascadetreelib_tlb::IColumnsPtr var_Columns = var_View->Columns;
		Excascadetreelib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Single-Line (exCaptionSingleLine)");
			var_Column->Width = 96;
			var_Column->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
			var_Column->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellSingleLine,TVariant(-1));
		Excascadetreelib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Word-Wrap (exCaptionWordWrap)");
			var_Column1->Width = 96;
			var_Column1->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
			var_Column1->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellSingleLine,TVariant(0));
			var_Column1->FormatColumn = L"%0";
		Excascadetreelib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"Break-Wrap (exCaptionBreakWrap)");
			var_Column2->Width = 96;
			var_Column2->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
			var_Column2->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellSingleLine,TVariant(1));
			var_Column2->FormatColumn = L"%0";
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->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."));
	var_View->EndUpdate();

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

CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSingleCascadeMode;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->BeginUpdate();
	var_View->HeaderSingleLine = false;
	var_View->HeaderHeight = 36;
	var_View->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exRowLines;
	var_View->ColumnAutoResize = false;
	var_View->ScrollBySingleLine = true;
	var_View->Columns->Add(L"Default")->Width = 128;
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->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),Excascadetreelib_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),Excascadetreelib_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),Excascadetreelib_tlb::ValueFormatEnum::exHTML);
		var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Excascadetreelib_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),Excascadetreelib_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),Excascadetreelib_tlb::ValueFormatEnum::exHTML);
		var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Excascadetreelib_tlb::CellSingleLineEnum::exCaptionBreakWrap);
	var_View->EndUpdate();

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

CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSingleCascadeMode;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->BeginUpdate();
	var_View->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exRowLines;
	var_View->ColumnAutoResize = false;
	var_View->ScrollBySingleLine = true;
	var_View->Columns->Add(L"Default")->Width = 128;
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->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),Excascadetreelib_tlb::CellSingleLineEnum::exCaptionBreakWrap);
		var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
	var_View->EndUpdate();

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

CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSingleCascadeMode;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->BeginUpdate();
	var_View->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exRowLines;
	var_View->ColumnAutoResize = false;
	var_View->ScrollBySingleLine = true;
	Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->Add(L"Default");
		var_Column->Width = 128;
		var_Column->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellSingleLine,TVariant(1));
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->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."));
	var_View->EndUpdate();

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

CascadeTree1->BeginUpdate();
Excascadetreelib_tlb::IAppearancePtr var_Appearance = CascadeTree1->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"));
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exColumnsPositionSign] = 0x2000000;
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSingleCascadeMode;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->BeginUpdate();
	var_View->HeaderAppearance = Excascadetreelib_tlb::AppearanceEnum::Etched;
	Excascadetreelib_tlb::IColumnsPtr var_Columns = var_View->Columns;
		var_Columns->Add(L"Column 1");
		var_Columns->Add(L"Column 2");
		var_Columns->Add(L"Column 3");
	var_View->EndUpdate();
CascadeTree1->EndUpdate();

68
DataSource (control, ADODB, ACCDB, x64)

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	TVariant bSingle = TVariant(CascadeTree1->FormatABC(L"value > 0 ?  0 : -1",CascadeTree1->View->Index,TNoParam(),TNoParam()));
	TVariant bColumnAutoResize = TVariant(CascadeTree1->FormatABC(L"value = `City` ?  0 : -1",CascadeTree1->View->get_Tag(),TNoParam(),TNoParam()));
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->ColumnAutoResize = false;
		var_View->SingleSel = false;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exAutoFitOnResizeClient | Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("locktype=1;Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=C") +
"ountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateC" +
"ode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>" +
"> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=C" +
"ity;Name=Name"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

67
DataSource (view, ADODB, ACCDB, x64)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could be string (Source/Member), ADO or DAO objects";
CascadeTree1->DefColumnWidth = 336;
/*
	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 ado = Variant::CreateObject(L"ADODB.Recordset");
	ado->Open(TVariant("Countries"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockReadOnly,-1);
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->set_DataSource(ado);
	var_View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

66
Simple sample

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	TVariant bSingle = TVariant(CascadeTree1->FormatABC(L"value > 0 ?  0 : -1",CascadeTree1->View->Index,TNoParam(),TNoParam()));
	TVariant bColumnAutoResize = TVariant(CascadeTree1->FormatABC(L"value = `City` ?  0 : -1",CascadeTree1->View->get_Tag(),TNoParam(),TNoParam()));
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->ColumnAutoResize = false;
		var_View->SingleSel = false;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exAutoFitOnResizeClient | Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->EndUpdate();

65
FilterBar sample

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->HeaderHeight = 20;
		var_View->HeaderAppearance = Excascadetreelib_tlb::AppearanceEnum::Etched;
		var_View->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exAllLines;
		var_View->GridLineStyle = Excascadetreelib_tlb::GridLinesStyleEnum::exGridLinesDash;
	Excascadetreelib_tlb::IViewPtr var_View1 = CascadeTree1->DefaultView[TNoParam()];
		Excascadetreelib_tlb::IViewPtr var_View2 = var_View1->get_View(TVariant("Country"));
			var_View2->BeginUpdate();
			var_View2->ColumnAutoResize = true;
			var_View2->Columns->get_Item(TVariant(0))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column = var_View2->Columns->get_Item(TVariant(1));
				var_Column->HTMLCaption = L"Country";
				var_Column->DisplayFilterButton = true;
				var_Column->FilterList = Excascadetreelib_tlb::FilterListEnum::exShowExclude | Excascadetreelib_tlb::FilterListEnum::exShowFocusItem | Excascadetreelib_tlb::FilterListEnum::exShowCheckBox | Excascadetreelib_tlb::FilterListEnum::exSortItemsAsc;
				var_Column->FilterBarDropDownWidth = 2;
			var_View2->EndUpdate();
		Excascadetreelib_tlb::IViewPtr var_View3 = var_View1->get_View(TVariant("State"));
			var_View3->BeginUpdate();
			var_View3->ColumnAutoResize = true;
			var_View3->Columns->get_Item(TVariant(0))->Visible = false;
			var_View3->Columns->get_Item(TVariant(1))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column1 = var_View3->Columns->get_Item(TVariant(2));
				var_Column1->HTMLCaption = L"State";
				var_Column1->DisplayFilterButton = true;
				var_Column1->FilterList = Excascadetreelib_tlb::FilterListEnum::exShowExclude | Excascadetreelib_tlb::FilterListEnum::exShowFocusItem | Excascadetreelib_tlb::FilterListEnum::exShowCheckBox | Excascadetreelib_tlb::FilterListEnum::exSortItemsAsc;
				var_Column1->FilterBarDropDownWidth = 2;
			var_View3->EndUpdate();
		Excascadetreelib_tlb::IViewPtr var_View4 = var_View1->get_View(TVariant("City"));
			var_View4->BeginUpdate();
			var_View4->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
			var_View4->Columns->get_Item(TVariant("StateCode"))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column2 = var_View4->Columns->get_Item(TVariant("Name"));
				var_Column2->HTMLCaption = L"City";
				var_Column2->Width = 128;
				var_Column2->DisplayFilterButton = true;
				var_Column2->FilterList = Excascadetreelib_tlb::FilterListEnum::exShowExclude | Excascadetreelib_tlb::FilterListEnum::exShowFocusItem | Excascadetreelib_tlb::FilterListEnum::exShowCheckBox | Excascadetreelib_tlb::FilterListEnum::exSortItemsAsc;
				var_Column2->FilterBarDropDownWidth = 2;
			var_View4->SearchColumnIndex = var_View4->Columns->get_Item(TVariant("Name"))->Index;
			Excascadetreelib_tlb::IColumnPtr var_Column3 = var_View4->Columns->get_Item(TVariant("Status"));
				var_Column3->DisplayFilterButton = true;
				var_Column3->FilterList = Excascadetreelib_tlb::FilterListEnum::exShowExclude | Excascadetreelib_tlb::FilterListEnum::exShowFocusItem | Excascadetreelib_tlb::FilterListEnum::exShowCheckBox | Excascadetreelib_tlb::FilterListEnum::exSortItemsAsc;
				var_Column3->FilterBarDropDownWidth = 2;
			Excascadetreelib_tlb::IColumnPtr var_Column4 = var_View4->Columns->get_Item(TVariant("Function"));
				var_Column4->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
				var_Column4->FormatColumn = TVariant(String("value replace 1 with `<img>1</img>` replace 2 with `<img>2</img>` replace 3 with `<img>3</img>` replace 4 with `<img>4</img>` r") +
	"eplace 5 with `<img>5</img>` replace 6 with `<img>6</img>` replace 7 with `<img>7</img>` replace 8 with `<img>8</img>` replace 9" +
	" with `<img>9</img>` replace `-` with `` ");
			Excascadetreelib_tlb::IColumnPtr var_Column5 = var_View4->Columns->Add(L"Pos");
				var_Column5->AllowSizing = false;
				var_Column5->Width = 32;
				var_Column5->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellBackColor,TVariant(15790320));
				var_Column5->Position = 0;
				var_Column5->FormatColumn = L"1 pos ``";
				var_Column5->Alignment = Excascadetreelib_tlb::AlignmentEnum::CenterAlignment;
				var_Column5->HeaderAlignment = var_Column5->Alignment;
			var_View4->CountLockedColumns = 1;
			var_View4->Width = var_View4->WidthToFit;
			var_View4->EndUpdate();
	Excascadetreelib_tlb::IViewPtr var_View5 = CascadeTree1->View;
		var_View5->FilterBarHeight = 36;
		var_View5->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)`) )))");
		var_View5->FilterBarPromptVisible = Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Images(TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-01.ico"));
CascadeTree1->Images(TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-02.ico"));
CascadeTree1->Images(TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-03.ico"));
CascadeTree1->Images(TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-04.ico"));
CascadeTree1->Images(TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-05.ico"));
CascadeTree1->Images(TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-06.ico"));
CascadeTree1->Images(TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-07.ico"));
CascadeTree1->Images(TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-08.ico"));
CascadeTree1->Images(TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-09.ico"));
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb;Member=Select * FROM Countries;Key=CountryCode;Ta") +
"g=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=Stat" +
"eName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Sele" +
"ct * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name" +
""));
CascadeTree1->Select = L"RO\\CJ";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->get_View(TVariant("City"));
	var_View->FilterBarPromptPattern = L"Tu";
Excascadetreelib_tlb::IAppearancePtr var_Appearance = CascadeTree1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzV") +
"IUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4" +
"aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DB" +
"eEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" +
"BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAok" +
"GKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI="));
	var_Appearance->Add(2,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"));
CascadeTree1->BackColorSortBar = CascadeTree1->BackColor;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exVScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exHScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollWidth = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack] = RGB(240,240,240);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb] = RGB(128,128,128);
CascadeTree1->ScrollHeight = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSBack] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSThumb] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exScrollSizeGrip] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exCSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBarSize] = RGB(4,0,0);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x0)] = 0x1000000;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x1)] = 0x2000000;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum(0x20)] = -1;
CascadeTree1->EndUpdate();

64
GroupBy sample

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	CascadeTree1->View->HeaderHeight = 24;
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
		Excascadetreelib_tlb::IViewPtr var_View1 = var_View->get_View(TVariant("State"));
			var_View1->BeginUpdate();
			var_View1->SingleSel = false;
			var_View1->ColumnAutoResize = true;
			var_View1->Columns->get_Item(TVariant(0))->Visible = false;
			var_View1->Columns->get_Item(TVariant(1))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column = var_View1->Columns->get_Item(TVariant(2));
				var_Column->HTMLCaption = L"State <off 4><fgcolor=808080>Name";
				var_Column->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
			var_View1->EndUpdate();
		Excascadetreelib_tlb::IViewPtr var_View2 = var_View->get_View(TVariant("City"));
			long nSelected = var_View2->ParentView->Items->SelectCount;
			TVariant bGroupBy = TVariant(CascadeTree1->FormatABC(L"value > 1 ? -1 : 0",TVariant(nSelected),TNoParam(),TNoParam()));
			var_View2->BeginUpdate();
			var_View2->SingleSel = false;
			var_View2->SortBarCaption = L"Drag a <b>column</b> header here to group by that column.";
			var_View2->HasLines = Excascadetreelib_tlb::HierarchyLineEnum::exSolidLine;
			var_View2->ColumnAutoResize = false;
			var_View2->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exVLines;
			var_View2->GridLineStyle = Excascadetreelib_tlb::GridLinesStyleEnum::exGridLinesVSolid;
			var_View2->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column1 = var_View2->Columns->get_Item(TVariant("Name"));
				var_Column1->HTMLCaption = L"City <off 4><fgcolor=808080>Name";
				var_Column1->Width = 128;
				var_Column1->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
			var_View2->SearchColumnIndex = 2;
			var_View2->TreeColumnIndex = var_View2->SearchColumnIndex;
			var_View2->SingleSort = false;
			var_View2->AllowGroupBy = false;
			var_View2->SortBarVisible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column2 = var_View2->Columns->get_Item(TVariant("StateCode"));
				var_Column2->Visible = false;
				var_Column2->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
			var_View2->Width = var_View2->WidthToFit;
			var_View2->EndUpdate();
}

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

CascadeTree1->BeginUpdate();
Excascadetreelib_tlb::IAppearancePtr var_Appearance = CascadeTree1->VisualAppearance;
	var_Appearance->Add(1,TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\EBN\\Assorted\\vistaselDark.ebn"));
	var_Appearance->Add(2,TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\EBN\\Assorted\\bhframe.ebn"));
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb;Member=Select * FROM Countries;Key=CountryCode;Ta") +
"g=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=Stat" +
"eName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Sele" +
"ct * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name" +
""));
CascadeTree1->Select = L"RO\\CJ|BV|GL|IL";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->get_View(TVariant("Country"));
	var_View->BeginUpdate();
	var_View->ColumnAutoResize = true;
	var_View->Columns->get_Item(TVariant(0))->Visible = false;
	Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->get_Item(TVariant(1));
		var_Column->HTMLCaption = L"Country <off 4><fgcolor=808080>Name";
		var_Column->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
	var_View->EndUpdate();
CascadeTree1->SelBackColor = 0x1000000;
CascadeTree1->SelForeColor = RGB(255,255,255);
CascadeTree1->BackColorHeader = 0x2000000;
CascadeTree1->BackColorSortBar = CascadeTree1->BackColor;
CascadeTree1->BackColorSortBarCaption = CascadeTree1->BackColor;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exVScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exHScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollWidth = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack] = RGB(240,240,240);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb] = RGB(128,128,128);
CascadeTree1->ScrollHeight = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSBack] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSThumb] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exScrollSizeGrip] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exCSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBarSize] = RGB(4,0,0);
CascadeTree1->BackColorSortBar = CascadeTree1->BackColor;
CascadeTree1->EndUpdate();

63
Manual sample

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *V)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->BeginUpdate();
		TVariant k = TVariant(var_View->ParentView->get_Value(TNoParam()));
		var_View->HeaderVisible = false;
		var_View->ColumnAutoResize = true;
		var_View->ScrollBySingleLine = true;
		var_View->Columns->Add(L"Default")->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellSingleLine,TVariant(false));
		var_View->set_Key(TVariant(0));
		Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `.Child 1`",TVariant(k),TNoParam(),TNoParam())));
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `.Child 2`",TVariant(k),TNoParam(),TNoParam())));
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `.Child 3`",TVariant(k),TNoParam(),TNoParam())));
		var_View->EndUpdate();
}

CascadeTree1->BeginUpdate();
CascadeTree1->BackColorAlternate = 0x7ff0f0f0;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(240,240,240);
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->BeginUpdate();
	var_View->HeaderVisible = false;
	var_View->ColumnAutoResize = true;
	var_View->ScrollBySingleLine = true;
	var_View->Columns->Add(L"Default")->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellSingleLine,TVariant(false));
	var_View->set_Key(TVariant(0));
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		var_Items->AddItem(TVariant("Item A"));
		var_Items->AddItem(TVariant("Item B"));
		var_Items->AddItem(TVariant("Item C"));
	var_View->EndUpdate();
CascadeTree1->Select = L"Item A\\Item*A*2\\Item*A*2*3\\";
CascadeTree1->EndUpdate();

62
Appearance sample

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	CascadeTree1->View->HeaderHeight = 24;
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
		Excascadetreelib_tlb::IViewPtr var_View1 = var_View->get_View(TVariant("State"));
			var_View1->BeginUpdate();
			var_View1->ColumnAutoResize = true;
			var_View1->Columns->get_Item(TVariant(0))->Visible = false;
			var_View1->Columns->get_Item(TVariant(1))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column = var_View1->Columns->get_Item(TVariant(2));
				var_Column->HTMLCaption = L"State <off 4><fgcolor=808080>Name";
				var_Column->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
			Excascadetreelib_tlb::IItemsPtr var_Items = var_View1->Items;
				var_Items->set_LockedItemCount(Excascadetreelib_tlb::VAlignmentEnum::exTop,1);
				long h = var_Items->get_LockedItem(Excascadetreelib_tlb::VAlignmentEnum::exTop,0);
				var_Items->set_ItemDivider(h,0);
				var_Items->set_CellValueFormat(TVariant(h),TVariant(0),Excascadetreelib_tlb::ValueFormatEnum::exTotalField | Excascadetreelib_tlb::ValueFormatEnum::exHTML);
				var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("count(all,all,1)"));
				var_Items->set_FormatCell(TVariant(h),TVariant(0),L"`<r>States: <b>`+ (value format `0`)");
			var_View1->EndUpdate();
		Excascadetreelib_tlb::IViewPtr var_View2 = var_View->get_View(TVariant("City"));
			var_View2->BeginUpdate();
			var_View2->SingleSel = false;
			var_View2->ColumnAutoResize = false;
			var_View2->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exVLines;
			var_View2->GridLineStyle = Excascadetreelib_tlb::GridLinesStyleEnum::exGridLinesVSolid;
			var_View2->Columns->get_Item(TVariant(0))->Visible = false;
			var_View2->Columns->get_Item(TVariant(1))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column1 = var_View2->Columns->get_Item(TVariant(2));
				var_Column1->HTMLCaption = L"City <off 4><fgcolor=808080>Name";
				var_Column1->Width = 128;
				var_Column1->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
				var_Column1->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
			var_View2->SearchColumnIndex = 2;
			var_View2->ConditionalFormats->Add(L"%CS2 = 1",TNoParam())->Bold = true;
			Excascadetreelib_tlb::IItemsPtr var_Items1 = var_View2->Items;
				var_Items1->set_LockedItemCount(Excascadetreelib_tlb::VAlignmentEnum::exTop,1);
				h = var_Items1->get_LockedItem(Excascadetreelib_tlb::VAlignmentEnum::exTop,0);
				var_Items1->set_ItemDivider(h,0);
				var_Items1->set_CellValueFormat(TVariant(h),TVariant(0),Excascadetreelib_tlb::ValueFormatEnum::exTotalField | Excascadetreelib_tlb::ValueFormatEnum::exHTML);
				var_Items1->set_CellValue(TVariant(h),TVariant(0),TVariant("count(all,all,1)"));
				var_Items1->set_FormatCell(TVariant(h),TVariant(0),L"`<r>Cities: <b>`+ (value format `0`)");
			var_View2->Width = var_View2->WidthToFit;
			var_View2->EndUpdate();
}

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

CascadeTree1->BeginUpdate();
Excascadetreelib_tlb::IAppearancePtr var_Appearance = CascadeTree1->VisualAppearance;
	var_Appearance->Add(1,TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\EBN\\MSOffice-Ribbon\\msor_select.ebn"));
	var_Appearance->Add(2,TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\EBN\\MSOffice-Ribbon\\msor_background.ebn"));
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb;Member=Select * FROM Countries;Key=CountryCode;Ta") +
"g=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=Stat" +
"eName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Sele" +
"ct * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name" +
""));
CascadeTree1->Select = L"US\\AK";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->get_View(TVariant("Country"));
	var_View->BeginUpdate();
	var_View->ColumnAutoResize = true;
	var_View->Columns->get_Item(TVariant(0))->Visible = false;
	Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->get_Item(TVariant(1));
		var_Column->HTMLCaption = L"Country <off 4><fgcolor=808080>Name";
		var_Column->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		var_Items->set_LockedItemCount(Excascadetreelib_tlb::VAlignmentEnum::exTop,1);
		long h = var_Items->get_LockedItem(Excascadetreelib_tlb::VAlignmentEnum::exTop,0);
		var_Items->set_ItemDivider(h,0);
		var_Items->set_CellValueFormat(TVariant(h),TVariant(0),Excascadetreelib_tlb::ValueFormatEnum::exTotalField | Excascadetreelib_tlb::ValueFormatEnum::exHTML);
		var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("count(all,all,1)"));
		var_Items->set_FormatCell(TVariant(h),TVariant(0),L"`<r>Countries: <b>`+ (value format `0`)");
	var_View->EndUpdate();
CascadeTree1->SelBackColor = 0x1000000;
CascadeTree1->SelForeColor = RGB(0,0,0);
CascadeTree1->BackColorHeader = 0x2000000;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exVScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exHScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollWidth = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack] = RGB(240,240,240);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb] = RGB(128,128,128);
CascadeTree1->ScrollHeight = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSBack] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSThumb] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exScrollSizeGrip] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exCSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBarSize] = RGB(4,0,0);
CascadeTree1->BackColorSortBar = CascadeTree1->BackColor;
CascadeTree1->EndUpdate();

61
How can I get the selected items (sample 2)
// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		TVariant k = TVariant(var_View->ParentView->get_Value(TNoParam()));
		var_View->BeginUpdate();
		var_View->ColumnAutoResize = true;
		var_View->set_Key(TVariant(-1));
		var_View->Columns->Add(L"k");
		Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 1`",TVariant(k),TNoParam(),TNoParam())));
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 2`",TVariant(k),TNoParam(),TNoParam())));
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 3`",TVariant(k),TNoParam(),TNoParam())));
		var_View->EndUpdate();
}

// ViewItemStateEndChanging event - Indicates that the state of the item has been changed.
void __fastcall TForm1::CascadeTree1ViewItemStateEndChanging(TObject *Sender,Excascadetreelib_tlb::ViewItemStateEnum   Operation,Excascadetreelib_tlb::HITEM   Item,long   ColIndex)
{
	OutputDebugString( L"End" );
	OutputDebugString( L"Operation" );
	Excascadetreelib_tlb::IItemsPtr var_Items = CascadeTree1->View->Items;
		OutputDebugString( L"FocusItem" );
		OutputDebugString( var_Items->get_CellCaption(TVariant(var_Items->FocusItem),TVariant(0)) );
		OutputDebugString( L"SelectedItem" );
		OutputDebugString( var_Items->get_CellCaption(TVariant(var_Items->get_SelectedItem(0)),TVariant(0)) );
}

// ViewItemStateStartChanging event - Indicates that the state of the item is about to be changed.
void __fastcall TForm1::CascadeTree1ViewItemStateStartChanging(TObject *Sender,Excascadetreelib_tlb::ViewItemStateEnum   Operation,Excascadetreelib_tlb::HITEM   Item,long   ColIndex,Variant *   Cancel)
{
	OutputDebugString( L"Start" );
	OutputDebugString( L"Operation" );
}

CascadeTree1->BeginUpdate();
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
	var_View->BeginUpdate();
	var_View->ColumnAutoResize = true;
	var_View->Columns->Add(L"Default");
	var_View->set_Key(TVariant(0));
	var_View->LinesAtRoot = Excascadetreelib_tlb::LinesAtRootEnum::exLinesAtRoot;
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		var_Items->AddItem(TVariant("Item A"));
		var_Items->set_SelectItem(var_Items->AddItem(TVariant("Item B")),true);
		var_Items->AddItem(TVariant("Item C"));
	var_View->EndUpdate();
CascadeTree1->EndUpdate();

60
How do I specify a foreground color for a particular view

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->DefaultView[TNoParam()]->ConditionalFormats->Add(L"1",TNoParam())->ForeColor = RGB(128,128,128);
CascadeTree1->EndUpdate();

59
How do display result/items in the view's filter bar

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->HeaderAppearance = Excascadetreelib_tlb::AppearanceEnum::Etched;
		var_View->HeaderHeight = 24;
		var_View->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exAllLines;
		var_View->GridLineStyle = Excascadetreelib_tlb::GridLinesStyleEnum::exGridLinesDash;
	Excascadetreelib_tlb::IViewPtr var_View1 = CascadeTree1->DefaultView[TNoParam()];
		Excascadetreelib_tlb::IViewPtr var_View2 = var_View1->get_View(TVariant("Country"));
			var_View2->BeginUpdate();
			var_View2->ColumnAutoResize = true;
			var_View2->Columns->get_Item(TVariant(0))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column = var_View2->Columns->get_Item(TVariant(1));
				var_Column->HTMLCaption = L"Country <off 4><fgcolor=808080>Name";
				var_Column->DisplayFilterButton = true;
				var_Column->FilterList = Excascadetreelib_tlb::FilterListEnum::exShowExclude | Excascadetreelib_tlb::FilterListEnum::exShowFocusItem | Excascadetreelib_tlb::FilterListEnum::exShowCheckBox | Excascadetreelib_tlb::FilterListEnum::exSortItemsAsc;
				var_Column->FilterBarDropDownWidth = 2;
			var_View2->EndUpdate();
		Excascadetreelib_tlb::IViewPtr var_View3 = var_View1->get_View(TVariant("State"));
			var_View3->BeginUpdate();
			var_View3->ColumnAutoResize = true;
			var_View3->Columns->get_Item(TVariant(0))->Visible = false;
			var_View3->Columns->get_Item(TVariant(1))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column1 = var_View3->Columns->get_Item(TVariant(2));
				var_Column1->HTMLCaption = L"State <off 4><fgcolor=808080>Name";
				var_Column1->DisplayFilterButton = true;
				var_Column1->FilterList = Excascadetreelib_tlb::FilterListEnum::exShowExclude | Excascadetreelib_tlb::FilterListEnum::exShowFocusItem | Excascadetreelib_tlb::FilterListEnum::exShowCheckBox | Excascadetreelib_tlb::FilterListEnum::exSortItemsAsc;
				var_Column1->FilterBarDropDownWidth = 2;
			var_View3->EndUpdate();
		Excascadetreelib_tlb::IViewPtr var_View4 = var_View1->get_View(TVariant("City"));
			var_View4->BeginUpdate();
			var_View4->Columns->get_Item(TVariant(0))->Visible = false;
			var_View4->Columns->get_Item(TVariant(1))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column2 = var_View4->Columns->get_Item(TVariant(2));
				var_Column2->HTMLCaption = L"City <off 4><fgcolor=808080>Name";
				var_Column2->Width = 128;
				var_Column2->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
				var_Column2->DisplayFilterButton = true;
				var_Column2->FilterList = Excascadetreelib_tlb::FilterListEnum::exShowExclude | Excascadetreelib_tlb::FilterListEnum::exShowFocusItem | Excascadetreelib_tlb::FilterListEnum::exShowCheckBox | Excascadetreelib_tlb::FilterListEnum::exSortItemsAsc;
				var_Column2->FilterBarDropDownWidth = 2;
			Excascadetreelib_tlb::IColumnPtr var_Column3 = var_View4->Columns->Add(L"Pos");
				var_Column3->AllowSizing = false;
				var_Column3->Width = 32;
				var_Column3->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellBackColor,TVariant(15790320));
				var_Column3->Position = 0;
				var_Column3->FormatColumn = L"1 pos ``";
			var_View4->CountLockedColumns = 1;
			var_View4->EndUpdate();
	Excascadetreelib_tlb::IViewPtr var_View5 = CascadeTree1->View;
		var_View5->FilterBarHeight = 36;
		var_View5->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)`) )))");
		var_View5->FilterBarPromptType = Excascadetreelib_tlb::FilterPromptEnum::exFilterPromptStartWith;
		var_View5->FilterBarPromptVisible = Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exVScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exHScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollWidth = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack] = RGB(240,240,240);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb] = RGB(128,128,128);
CascadeTree1->ScrollHeight = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSBack] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSThumb] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exScrollSizeGrip] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exCSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBarSize] = RGB(2,0,0);
CascadeTree1->EndUpdate();
CascadeTree1->BeginUpdate();
CascadeTree1->MinColumnWidth = 348;
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->get_View(TVariant("City"));
	var_View->FilterBarPromptPattern = L"An";
CascadeTree1->EndUpdate();

58
I am using the filter prompt feature, the question is how can I filter for items that starts with typed characters rather than contains

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->FilterBarPromptType = Excascadetreelib_tlb::FilterPromptEnum::exFilterPromptStartWith;
		var_View->FilterBarPromptVisible = Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->get_View(TVariant("City"));
	var_View->FilterBarPromptPattern = L"An";
	Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->get_Item(TVariant("Name"));
		var_Column->Width = 128;
		var_Column->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
		var_Column->FormatColumn = L"value replace `An` with `<bgcolor=000000><fgcolor=FFFFFF>An</fgcolor></bgcolor>` ";
CascadeTree1->EndUpdate();

57
FilterBarCaption Predefined Keywords

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

CascadeTree1->BeginUpdate();
CascadeTree1->BackColorAlternate = RGB(240,240,240);
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSingleCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->get_View(TVariant("Country"));
	Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->Add(L"Pos");
		var_Column->Position = 0;
		var_Column->Width = 32;
		var_Column->AllowSizing = false;
		var_Column->FormatColumn = L"1pos ``";
	Excascadetreelib_tlb::IColumnPtr var_Column1 = var_View->Columns->get_Item(TVariant("CountryCode"));
		var_Column1->Width = 32;
		var_Column1->AllowSizing = false;
		var_Column1->DisplayFilterButton = true;
	Excascadetreelib_tlb::IColumnPtr var_Column2 = var_View->Columns->get_Item(TVariant("CountryName"));
		var_Column2->DisplayFilterButton = true;
		var_Column2->FilterList = Excascadetreelib_tlb::FilterListEnum::exShowExclude | Excascadetreelib_tlb::FilterListEnum::exShowFocusItem | Excascadetreelib_tlb::FilterListEnum::exShowCheckBox | Excascadetreelib_tlb::FilterListEnum::exSortItemsAsc;
		var_Column2->FilterBarDropDownWidth = 2;
		var_Column2->FilterType = Excascadetreelib_tlb::FilterTypeEnum::exFilter;
		var_Column2->Filter = L"Italy|Romania|Germany";
	var_View->FilterBarPromptPattern = L"a";
	var_View->ColumnAutoResize = true;
	var_View->SearchColumnIndex = var_View->Columns->get_Item(TVariant("CountryName"))->Index;
	var_View->FilterInclude = Excascadetreelib_tlb::FilterIncludeEnum::exItemsWithChilds;
	var_View->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>`");
	var_View->FilterBarPromptVisible = Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
	var_View->ApplyFilter();
CascadeTree1->EndUpdate();

56
How can I enable the column's filter bar (view)

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	CascadeTree1->View->FilterBarPromptVisible = Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->get_View(TVariant("Country"));
	var_View->ColumnAutoResize = true;
	var_View->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
	Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->get_Item(TVariant("CountryName"));
		var_Column->DisplayFilterButton = true;
		var_Column->FilterList = Excascadetreelib_tlb::FilterListEnum::exShowExclude | Excascadetreelib_tlb::FilterListEnum::exShowFocusItem | Excascadetreelib_tlb::FilterListEnum::exShowCheckBox | Excascadetreelib_tlb::FilterListEnum::exSortItemsAsc;
		var_Column->FilterBarDropDownWidth = 2;
		var_Column->FilterType = Excascadetreelib_tlb::FilterTypeEnum::exFilter;
		var_Column->Filter = L"Romania|Germany";
	var_View->ApplyFilter();
CascadeTree1->EndUpdate();

55
How can I enable the column's filter bar

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->FilterBarPromptVisible = Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
		Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->get_Item(TVariant(0));
			var_Column->DisplayFilterButton = true;
			var_Column->FilterList = Excascadetreelib_tlb::FilterListEnum::exShowExclude | Excascadetreelib_tlb::FilterListEnum::exShowFocusItem | Excascadetreelib_tlb::FilterListEnum::exShowCheckBox | Excascadetreelib_tlb::FilterListEnum::exSortItemsAsc;
			var_Column->FilterBarDropDownWidth = 2;
	Excascadetreelib_tlb::IViewPtr var_View1 = CascadeTree1->DefaultView[TNoParam()]->get_View(TVariant("Country"));
		Excascadetreelib_tlb::IColumnPtr var_Column1 = var_View1->Columns->get_Item(TVariant(0));
			var_Column1->FilterType = Excascadetreelib_tlb::FilterTypeEnum::exFilter;
			var_Column1->Filter = L"US|RO|GE";
		var_View1->ApplyFilter();
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

54
How can I enable the control's filter bar (view)

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->DefaultView[TNoParam()]->FilterBarPromptVisible = Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
CascadeTree1->EndUpdate();

53
How can I enable the control's filter bar

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	CascadeTree1->View->FilterBarPromptVisible = Excascadetreelib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

52
Aggregate sum, min, max, count, avg, divider, total (view)

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitEqualCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBarSize] = RGB(4,0,0);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"RO";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->get_View(TVariant("Country"));
	var_View->BeginUpdate();
	var_View->ColumnAutoResize = true;
	var_View->Columns->get_Item(TVariant(0))->Visible = false;
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		var_Items->set_LockedItemCount(Excascadetreelib_tlb::VAlignmentEnum::exTop,1);
		long h = var_Items->get_LockedItem(Excascadetreelib_tlb::VAlignmentEnum::exTop,0);
		var_Items->set_ItemDivider(h,0);
		var_Items->set_CellValueFormat(TVariant(h),TVariant(0),Excascadetreelib_tlb::ValueFormatEnum::exTotalField | Excascadetreelib_tlb::ValueFormatEnum::exHTML);
		var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("count(all,all,1)"));
		var_Items->set_FormatCell(TVariant(h),TVariant(0),L"`<r>Countries: <b>`+ (value format `0`)");
	var_View->EndUpdate();
CascadeTree1->EndUpdate();

51
Aggregate sum, min, max, count, avg, divider, total

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	CascadeTree1->View->HeaderVisible = false;
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
		Excascadetreelib_tlb::IViewPtr var_View1 = var_View->get_View(TVariant("Country"));
			var_View1->BeginUpdate();
			var_View1->ColumnAutoResize = true;
			var_View1->Columns->get_Item(TVariant(0))->Visible = false;
			Excascadetreelib_tlb::IItemsPtr var_Items = var_View1->Items;
				var_Items->set_LockedItemCount(Excascadetreelib_tlb::VAlignmentEnum::exTop,1);
				long h = var_Items->get_LockedItem(Excascadetreelib_tlb::VAlignmentEnum::exTop,0);
				var_Items->set_ItemDivider(h,0);
				var_Items->set_CellValueFormat(TVariant(h),TVariant(0),Excascadetreelib_tlb::ValueFormatEnum::exTotalField | Excascadetreelib_tlb::ValueFormatEnum::exHTML);
				var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("count(all,all,1)"));
				var_Items->set_FormatCell(TVariant(h),TVariant(0),L"`<r>Countries: <b>`+ (value format `0`)");
			var_View1->EndUpdate();
		Excascadetreelib_tlb::IViewPtr var_View2 = var_View->get_View(TVariant("State"));
			var_View2->BeginUpdate();
			var_View2->SingleSel = false;
			var_View2->ColumnAutoResize = true;
			var_View2->Columns->get_Item(TVariant(0))->Visible = false;
			var_View2->Columns->get_Item(TVariant(1))->Visible = false;
			Excascadetreelib_tlb::IItemsPtr var_Items1 = var_View2->Items;
				var_Items1->set_LockedItemCount(Excascadetreelib_tlb::VAlignmentEnum::exTop,1);
				h = var_Items1->get_LockedItem(Excascadetreelib_tlb::VAlignmentEnum::exTop,0);
				var_Items1->set_ItemDivider(h,0);
				var_Items1->set_CellValueFormat(TVariant(h),TVariant(0),Excascadetreelib_tlb::ValueFormatEnum::exTotalField | Excascadetreelib_tlb::ValueFormatEnum::exHTML);
				var_Items1->set_CellValue(TVariant(h),TVariant(0),TVariant("count(all,all,1)"));
				var_Items1->set_FormatCell(TVariant(h),TVariant(0),L"`<r>States: <b>`+ (value format `0`)");
			var_View2->EndUpdate();
		Excascadetreelib_tlb::IViewPtr var_View3 = var_View->get_View(TVariant("City"));
			var_View3->BeginUpdate();
			var_View3->Columns->get_Item(TVariant(0))->Visible = false;
			var_View3->Columns->get_Item(TVariant(1))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column = var_View3->Columns->get_Item(TVariant(2));
				var_Column->Width = 128;
				var_Column->HTMLCaption = L"CityName";
			Excascadetreelib_tlb::IItemsPtr var_Items2 = var_View3->Items;
				var_Items2->set_LockedItemCount(Excascadetreelib_tlb::VAlignmentEnum::exTop,1);
				h = var_Items2->get_LockedItem(Excascadetreelib_tlb::VAlignmentEnum::exTop,0);
				var_Items2->set_ItemDivider(h,0);
				var_Items2->set_CellValueFormat(TVariant(h),TVariant(0),Excascadetreelib_tlb::ValueFormatEnum::exTotalField | Excascadetreelib_tlb::ValueFormatEnum::exHTML);
				var_Items2->set_CellValue(TVariant(h),TVariant(0),TVariant("count(all,all,1)"));
				var_Items2->set_FormatCell(TVariant(h),TVariant(0),L"`<r>Cities: <b>`+ (value format `0`)");
			var_View3->EndUpdate();
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBarSize] = RGB(4,0,0);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

50
How can I add a check-box column (view)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<c>Select multiple-items in the City view, and press <b>SPACE</b> key";
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exStatusBackColor] = CascadeTree1->BackColor;
CascadeTree1->VisualAppearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABO0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEhqGiUBihaQhRgyJI3RlJGaoD") +
"iKIokShKEpDLKlCx3H6OKQjOZgAoySo4SbDMp0NAkRBlFqcJCCCLAUgmTpQUBOYyiLKNRxQGoYLIlayZIiSIpMRbWcB3BYEOSFFasAAleYZTg2Jp1TbPAAYFL1ISDKSi" +
"IZqTA6PheT5yUzCNazbgEMTvRKqcSnO6bOgnEKQZKAGg4bg1RTVAYZLKtPR7aqyUJvZ5sMB6DiuLYRPKXZoucaNExSS5ebJtOzQJbEXBpXSpBwzSieBozIaQcJUOoaVx" +
"PFkaJrGuIx3h2BZPgOUIQmUcIwDARAkiAaQxh0DonCMLAeBKZobBCCY+niWJaBIKJJH4MoBgiQpCmmUR/ooBgCgCYBIBYBoBmCBYAn+ApgkgNgOgOYQIEYBIEGESBWBS" +
"BJhGgZgZgYIYoHYEIHCGaIGAuCAiCgegkgkYYoh4KIFiKKIuBeAJimiGgwgwYoYk4NILCCGJmDqDpjkidg+gGTo1jUAxAEAgI"));
CascadeTree1->SelBackColor = 0x1000000;
CascadeTree1->SelForeColor = CascadeTree1->ForeColor;
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->get_View(TVariant("City"));
	var_View->BeginUpdate();
	var_View->ShowFocusRect = false;
	var_View->SingleSel = false;
	var_View->Columns->get_Item(TVariant(0))->Visible = false;
	var_View->Columns->get_Item(TVariant(1))->Visible = false;
	Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->get_Item(TVariant(2));
		var_Column->HTMLCaption = L"City <off 4><fgcolor=808080>Name";
		var_Column->Width = 128;
		var_Column->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_View->SearchColumnIndex = var_View->Columns->get_Item(TVariant("Name"))->Index;
	Excascadetreelib_tlb::IColumnPtr var_Column1 = var_View->Columns->Add(L"Pos");
		var_Column1->Position = 0;
		var_Column1->Width = 32;
		var_Column1->FormatColumn = L"1 pos ``";
	Excascadetreelib_tlb::IConditionalFormatsPtr var_ConditionalFormats = var_View->ConditionalFormats;
		var_ConditionalFormats->Add(L"%CS2 = 1",TNoParam())->BackColor = RGB(190,190,190);
		Excascadetreelib_tlb::IConditionalFormatPtr var_ConditionalFormat = var_ConditionalFormats->Add(L"%CS2 = 1",TNoParam());
			var_ConditionalFormat->Bold = true;
			var_ConditionalFormat->ApplyTo = Excascadetreelib_tlb::FormatApplyToEnum(0x8);
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		var_Items->set_CellState(TVariant(var_Items->get_ItemByIndex(1)),TVariant(2),1);
		var_Items->set_CellState(TVariant(var_Items->get_ItemByIndex(3)),TVariant(2),1);
		var_Items->set_CellState(TVariant(var_Items->get_ItemByIndex(5)),TVariant(2),1);
	var_View->EndUpdate();
CascadeTree1->EndUpdate();

49
How can I add a check-box column

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->HeaderAppearance = Excascadetreelib_tlb::AppearanceEnum::Etched;
		var_View->HeaderHeight = 24;
		var_View->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exVLines;
		var_View->GridLineStyle = Excascadetreelib_tlb::GridLinesStyleEnum::exGridLinesDash;
	Excascadetreelib_tlb::IViewPtr var_View1 = CascadeTree1->DefaultView[TNoParam()];
		Excascadetreelib_tlb::IViewPtr var_View2 = var_View1->get_View(TVariant("Country"));
			var_View2->BeginUpdate();
			var_View2->ColumnAutoResize = true;
			var_View2->Columns->get_Item(TVariant(0))->Visible = false;
			var_View2->Columns->get_Item(TVariant(1))->HTMLCaption = L"Country <off 4><fgcolor=808080>Name";
			var_View2->EndUpdate();
		Excascadetreelib_tlb::IViewPtr var_View3 = var_View1->get_View(TVariant("State"));
			var_View3->BeginUpdate();
			var_View3->ColumnAutoResize = true;
			var_View3->Columns->get_Item(TVariant(0))->Visible = false;
			var_View3->Columns->get_Item(TVariant(1))->Visible = false;
			var_View3->Columns->get_Item(TVariant(2))->HTMLCaption = L"State <off 4><fgcolor=808080>Name";
			var_View3->EndUpdate();
		Excascadetreelib_tlb::IViewPtr var_View4 = var_View1->get_View(TVariant("City"));
			var_View4->BeginUpdate();
			var_View4->ShowFocusRect = false;
			var_View4->SingleSel = false;
			var_View4->Columns->get_Item(TVariant(0))->Visible = false;
			var_View4->Columns->get_Item(TVariant(1))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column = var_View4->Columns->get_Item(TVariant(2));
				var_Column->HTMLCaption = L"City <off 4><fgcolor=808080>Name";
				var_Column->Width = 128;
				var_Column->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
			var_View4->SearchColumnIndex = var_View4->Columns->get_Item(TVariant("Name"))->Index;
			Excascadetreelib_tlb::IColumnPtr var_Column1 = var_View4->Columns->Add(L"Pos");
				var_Column1->Position = 0;
				var_Column1->Width = 32;
				var_Column1->FormatColumn = L"1 pos ``";
			Excascadetreelib_tlb::IConditionalFormatsPtr var_ConditionalFormats = var_View4->ConditionalFormats;
				var_ConditionalFormats->Add(L"%CS2 = 1",TNoParam())->BackColor = RGB(190,190,190);
				Excascadetreelib_tlb::IConditionalFormatPtr var_ConditionalFormat = var_ConditionalFormats->Add(L"%CS2 = 1",TNoParam());
					var_ConditionalFormat->Bold = true;
					var_ConditionalFormat->ApplyTo = Excascadetreelib_tlb::FormatApplyToEnum(0x8);
			Excascadetreelib_tlb::IItemsPtr var_Items = var_View4->Items;
				var_Items->set_CellState(TVariant(var_Items->get_ItemByIndex(1)),TVariant(2),1);
				var_Items->set_CellState(TVariant(var_Items->get_ItemByIndex(3)),TVariant(2),1);
				var_Items->set_CellState(TVariant(var_Items->get_ItemByIndex(5)),TVariant(2),1);
			var_View4->EndUpdate();
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<c>Select multiple-items in the City view, and press <b>SPACE</b> key";
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exStatusBackColor] = CascadeTree1->BackColor;
CascadeTree1->VisualAppearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABO0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEhqGiUBihaQhRgyJI3RlJGaoD") +
"iKIokShKEpDLKlCx3H6OKQjOZgAoySo4SbDMp0NAkRBlFqcJCCCLAUgmTpQUBOYyiLKNRxQGoYLIlayZIiSIpMRbWcB3BYEOSFFasAAleYZTg2Jp1TbPAAYFL1ISDKSi" +
"IZqTA6PheT5yUzCNazbgEMTvRKqcSnO6bOgnEKQZKAGg4bg1RTVAYZLKtPR7aqyUJvZ5sMB6DiuLYRPKXZoucaNExSS5ebJtOzQJbEXBpXSpBwzSieBozIaQcJUOoaVx" +
"PFkaJrGuIx3h2BZPgOUIQmUcIwDARAkiAaQxh0DonCMLAeBKZobBCCY+niWJaBIKJJH4MoBgiQpCmmUR/ooBgCgCYBIBYBoBmCBYAn+ApgkgNgOgOYQIEYBIEGESBWBS" +
"BJhGgZgZgYIYoHYEIHCGaIGAuCAiCgegkgkYYoh4KIFiKKIuBeAJimiGgwgwYoYk4NILCCGJmDqDpjkidg+gGTo1jUAxAEAgI"));
CascadeTree1->SelBackColor = 0x1000000;
CascadeTree1->SelForeColor = CascadeTree1->ForeColor;
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

48
How can I access a view

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->HeaderAppearance = Excascadetreelib_tlb::AppearanceEnum::Etched;
		var_View->HeaderHeight = 24;
		var_View->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exAllLines;
		var_View->GridLineStyle = Excascadetreelib_tlb::GridLinesStyleEnum::exGridLinesDash;
	Excascadetreelib_tlb::IViewPtr var_View1 = CascadeTree1->DefaultView[TNoParam()];
		Excascadetreelib_tlb::IViewPtr var_View2 = var_View1->get_View(TVariant("Country"));
			var_View2->BeginUpdate();
			var_View2->ColumnAutoResize = true;
			var_View2->Columns->get_Item(TVariant(0))->Visible = false;
			var_View2->Columns->get_Item(TVariant(1))->HTMLCaption = L"Country <off 4><fgcolor=808080>Name";
			var_View2->EndUpdate();
		Excascadetreelib_tlb::IViewPtr var_View3 = var_View1->get_View(TVariant("State"));
			var_View3->BeginUpdate();
			var_View3->ColumnAutoResize = true;
			var_View3->Columns->get_Item(TVariant(0))->Visible = false;
			var_View3->Columns->get_Item(TVariant(1))->Visible = false;
			var_View3->Columns->get_Item(TVariant(2))->HTMLCaption = L"State <off 4><fgcolor=808080>Name";
			var_View3->EndUpdate();
		Excascadetreelib_tlb::IViewPtr var_View4 = var_View1->get_View(TVariant("City"));
			var_View4->BeginUpdate();
			var_View4->Columns->get_Item(TVariant(0))->Visible = false;
			var_View4->Columns->get_Item(TVariant(1))->Visible = false;
			Excascadetreelib_tlb::IColumnPtr var_Column = var_View4->Columns->get_Item(TVariant(2));
				var_Column->HTMLCaption = L"City <off 4><fgcolor=808080>Name";
				var_Column->Width = 128;
				var_Column->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellBackColor,TVariant(15790320));
			var_View4->CountLockedColumns = 1;
			var_View4->EndUpdate();
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

47
Conditional Format (check)

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		Excascadetreelib_tlb::IConditionalFormatPtr var_ConditionalFormat = var_View->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
			var_ConditionalFormat->Bold = true;
		var_View->Columns->get_Item(TVariant(0))->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
			var_Items->set_CellState(TVariant(var_Items->FocusItem),TVariant(0),1);
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

46
Conditional Format (view)

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->get_View(TVariant("City"));
	Excascadetreelib_tlb::IConditionalFormatPtr var_ConditionalFormat = var_View->ConditionalFormats->Add(L"(%0 = `US`) and (%2 like `Al*`)",TNoParam());
		var_ConditionalFormat->Bold = true;
		var_ConditionalFormat->BackColor = RGB(240,240,240);
CascadeTree1->EndUpdate();

45
Conditional Format

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		Excascadetreelib_tlb::IConditionalFormatPtr var_ConditionalFormat = var_View->ConditionalFormats->Add(L"%0 = `US`",TNoParam());
			var_ConditionalFormat->Bold = true;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

44
I've seen the AllowSplitView property, the question is how can I load data to

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->AllowSplitView = Excascadetreelib_tlb::AllowSplitViewEnum::exAllowOneSplitView;
CascadeTree1->SplitViewHeight = L"256";
_tlb::ObjectPtr var_Object = CascadeTree1->DefaultView[TVariant(1)];
CascadeTree1->EndUpdate();

43
How can I group the items (view)

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	CascadeTree1->View->SingleSel = false;
}

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

CascadeTree1->BeginUpdate();
Excascadetreelib_tlb::IAppearancePtr var_Appearance = CascadeTree1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABa0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDYOMjwlDKEgADDFEgjJBkRxtDCPIDnGQoD") +
"iGI4vSrCQ4yDA8GxCGSfIrjKiYbiGNY8RgZCiOMAFJSpC6gZRoSq4doGGJLQiDMaAdBNHyZKqpbQqeCZPDINQlWzbcrjKKFYQTOi7I4sCbYcqKA5PTbNdYyVBMWxfGIb" +
"aIkXAcBjuO4hWbFdASRQdDYtHTIbzjCxLcgMD4gRwWCYNSAGRZJLDKK4gSh6eorHQAX4AGabFBOP5fC7TNJ0OKLRrkAJub5eFx3LJ97ohbLsOzYZK2ByDFqiMLGQZMZx" +
"vGWUBAnYfJImcOwLEiBp0gaGpekSBxjE+WZ2jse5Im2S5ZkGYhdn4EY6A4Q4vAOWJ6H0V4oEgIgSFAGhGDGUB1ByBhVBUAwyhKMQIE2AgRjCWQJAoEIWk2SxCAGBBghQ" +
"eJYkMZIYBYIYoHIG4HGICB+CKB4iEiBglgaUAzhiJAZA+Q4Qk2CxiniOgwgyYwolYMYNmMQw2CoGQihiLg5g+YxpAIOINiOOJ2CyEBkgkDhKhCJBQAI2IlAkJhMgqZBp" +
"EYS4UiSGQ2E+FglHkdg5haI5pHIVoViYCQeF6vZJhYY4aCWWYqGyGpkimOhnhyZQ4nIToYGcSY+ESFQnHmGhwh+YpphYO4gmKOlEiGKIKBaCohmeQ4tkUQJQBAgI="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABO0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDYOMjwlDKEgADDFEgjDBkRxtDCPIDnGQoD") +
"iGI4vSrCQ4zHQkOx9C6NKLjOQaMhwcJPABTZwRRQMUyLAiQRioGKKJgkC4cAxIFhRXSVIyhC6XRiGURbJquLw1DBbEI3BaUOS7HqOK7vCZ7cACVYqQjLMrzCK8ZxLPqb" +
"ZznOjZXoCKJDQzVYADFRVd4rMK9QABWw4YqWZYXX7kUDxbTdEYzPQAMw1GCcbxmF6eWbCNq3LidXTnOK3dwkO55cyuA6oazi8T6Bi2M6DDQNGSzZiuGZ9YSOOIwHJIN4" +
"QDSUpYmQOoJA6KxVlCDBsnwOx9iWUhfiCThzjUHZun2WgSAiBIUA0JgziGVJkGWUZAkEUoyBEN51BsDYQhCIQJGqHAUCAGBGA0RwtDcVIgkgNgOgOYQIDiXYEmESBWBa" +
"BZhggTgSgYYZIHYGoDGGaIGBiBpiCiFJdgkIksiiChhliLgsgYYpoj4F4MGMKBWDSDRhngMg4gcIQYnYPoEE6N4ZAMQBAICA="));
CascadeTree1->SelBackColor = 0x1000000;
CascadeTree1->SelForeColor = RGB(0,0,0);
CascadeTree1->BackColorHeader = 0x2000000;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exVScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exHScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollWidth = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack] = RGB(240,240,240);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb] = RGB(128,128,128);
CascadeTree1->ScrollHeight = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSBack] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSThumb] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exScrollSizeGrip] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exCSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBarSize] = RGB(2,0,0);
CascadeTree1->BackColorSortBar = CascadeTree1->BackColor;
CascadeTree1->EndUpdate();
CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"RO\\CJ|BV|CS";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->get_View(TVariant("City"));
	var_View->BeginUpdate();
	Excascadetreelib_tlb::IColumnsPtr var_Columns = var_View->Columns;
		var_Columns->get_Item(TVariant("CountryCode"))->Visible = false;
		Excascadetreelib_tlb::IColumnPtr var_Column = var_Columns->get_Item(TVariant("Name"));
			var_Column->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
			var_Column->Width = 128;
	var_View->SortBarVisible = true;
	var_View->AllowGroupBy = true;
	var_View->SingleSort = false;
	var_View->Columns->get_Item(TVariant("StateCode"))->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
	var_View->TreeColumnIndex = var_View->Columns->get_Item(TVariant("Name"))->Index;
	var_View->EndUpdate();
CascadeTree1->EndUpdate();

42
How can I group the items

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	// Columns("StateCode").Visible = False
	// Columns("StateName").SortOrder = 1
	// Columns("StateCode").SortOrder = nGroupByIfCity
	TVariant nGroupByIfCity = TVariant(CascadeTree1->FormatABC(L"( A = `City`) ? 1 : 0",CascadeTree1->View->get_Tag(),TNoParam(),TNoParam()));
	TVariant bColumnAutoResize = TVariant(CascadeTree1->FormatABC(L" (A = `City`) ? 0 : -1",CascadeTree1->View->get_Tag(),TNoParam(),TNoParam()));
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->BeginUpdate();
		var_View->SingleSel = false;
		var_View->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
		var_View->Columns->get_Item(TVariant("CountryName"))->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
		_tlb::ObjectPtr var_Object = var_View->Columns->get_Item(TVariant(2));
		var_View->TreeColumnIndex = 2;
		var_View->AllowGroupBy = true;
		var_View->SingleSort = false;
		var_View->SortBarVisible = false;
		var_View->ColumnAutoResize = false;
		var_View->EndUpdate();
}

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

CascadeTree1->BeginUpdate();
Excascadetreelib_tlb::IAppearancePtr var_Appearance = CascadeTree1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABa0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDYOMjwlDKEgADDFEgjJBkRxtDCPIDnGQoD") +
"iGI4vSrCQ4yDA8GxCGSfIrjKiYbiGNY8RgZCiOMAFJSpC6gZRoSq4doGGJLQiDMaAdBNHyZKqpbQqeCZPDINQlWzbcrjKKFYQTOi7I4sCbYcqKA5PTbNdYyVBMWxfGIb" +
"aIkXAcBjuO4hWbFdASRQdDYtHTIbzjCxLcgMD4gRwWCYNSAGRZJLDKK4gSh6eorHQAX4AGabFBOP5fC7TNJ0OKLRrkAJub5eFx3LJ97ohbLsOzYZK2ByDFqiMLGQZMZx" +
"vGWUBAnYfJImcOwLEiBp0gaGpekSBxjE+WZ2jse5Im2S5ZkGYhdn4EY6A4Q4vAOWJ6H0V4oEgIgSFAGhGDGUB1ByBhVBUAwyhKMQIE2AgRjCWQJAoEIWk2SxCAGBBghQ" +
"eJYkMZIYBYIYoHIG4HGICB+CKB4iEiBglgaUAzhiJAZA+Q4Qk2CxiniOgwgyYwolYMYNmMQw2CoGQihiLg5g+YxpAIOINiOOJ2CyEBkgkDhKhCJBQAI2IlAkJhMgqZBp" +
"EYS4UiSGQ2E+FglHkdg5haI5pHIVoViYCQeF6vZJhYY4aCWWYqGyGpkimOhnhyZQ4nIToYGcSY+ESFQnHmGhwh+YpphYO4gmKOlEiGKIKBaCohmeQ4tkUQJQBAgI="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABO0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDYOMjwlDKEgADDFEgjDBkRxtDCPIDnGQoD") +
"iGI4vSrCQ4zHQkOx9C6NKLjOQaMhwcJPABTZwRRQMUyLAiQRioGKKJgkC4cAxIFhRXSVIyhC6XRiGURbJquLw1DBbEI3BaUOS7HqOK7vCZ7cACVYqQjLMrzCK8ZxLPqb" +
"ZznOjZXoCKJDQzVYADFRVd4rMK9QABWw4YqWZYXX7kUDxbTdEYzPQAMw1GCcbxmF6eWbCNq3LidXTnOK3dwkO55cyuA6oazi8T6Bi2M6DDQNGSzZiuGZ9YSOOIwHJIN4" +
"QDSUpYmQOoJA6KxVlCDBsnwOx9iWUhfiCThzjUHZun2WgSAiBIUA0JgziGVJkGWUZAkEUoyBEN51BsDYQhCIQJGqHAUCAGBGA0RwtDcVIgkgNgOgOYQIDiXYEmESBWBa" +
"BZhggTgSgYYZIHYGoDGGaIGBiBpiCiFJdgkIksiiChhliLgsgYYpoj4F4MGMKBWDSDRhngMg4gcIQYnYPoEE6N4ZAMQBAICA="));
CascadeTree1->SelBackColor = 0x1000000;
CascadeTree1->SelForeColor = RGB(0,0,0);
CascadeTree1->BackColorHeader = 0x2000000;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exVScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exHScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollWidth = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack] = RGB(240,240,240);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb] = RGB(128,128,128);
CascadeTree1->ScrollHeight = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSBack] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSThumb] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exScrollSizeGrip] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exCSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBarSize] = RGB(2,0,0);
CascadeTree1->BackColorSortBar = CascadeTree1->BackColor;
CascadeTree1->EndUpdate();
CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"RO\\CJ|BV|CS";
CascadeTree1->EndUpdate();

41
How can I change the visual appearance of the selection/header

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	// Columns("StateCode").Visible = False
	// Columns("StateName").SortOrder = 1
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->BeginUpdate();
		var_View->ColumnAutoResize = true;
		var_View->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
		var_View->Columns->get_Item(TVariant("CountryName"))->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
		_tlb::ObjectPtr var_Object = var_View->Columns->get_Item(TVariant("Name"));
		var_View->EndUpdate();
}

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

CascadeTree1->BeginUpdate();
Excascadetreelib_tlb::IAppearancePtr var_Appearance = CascadeTree1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABWYDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCNAwgFBIcBhE4ZIKkEYoMiONoYR5Ac4yF") +
"AcQxHE6TZRgeDZToWN48TZLEB0VRFGL1J4AKbfKKKBiqIZDTpMdKSHIIFQ4BiEaYkGjqQpKVIdDSJMwWTI4ahhNSEbauCZ7DhyXpLUbeNSyXJsXw7GSOZJvGZ5bjuIY+" +
"RxQEK1NQkOyNOiOAosGCQWiDE4DWZZUT3XS+HgAGStY4rWCcSgOYIDZTPOT1DYtIY3NC5c7tS4bPq3NZHXTAeigBa4AZTQafcTvSA5OjOQQ2VhNWIXRxgAZ3YCNbzpTg" +
"sHeD5DmUQh3jSTQ/DuIZBh0bJ8BsG4WlsYwXjEapphuXh/HsRQJAQQhKAaEwZlCahyDKchJlEIgRDedQbA2EIQiECR3BudAgBgRgBgSHZQFSCwzECV4DGCeA6BCBJhCg" +
"VgRgWs4YkgNJKCOMJ2C0T4Dn4IIIiIGIOCaCRiy0HQ9iGIxMhgMAMmKZJ2D+SQThININgiM4In+DhPnIDJhD+RxzgCfwaE2c58F0N4PniSJ/guTJiCiOAygwCJODyDwI" +
"FifhVD+R5JBQcIREYOQgFgNwPnkRJ/qOIgIjEMYMFOVg9hESA5BQfYSCbQx1DcZA5lAXQ2vURh4hoT55hiRgfEqYwMkUPQPnGahgiGJwpmAdYeAaWZgGINoPnEWoQBKa" +
"QKAyf4gAwMZoisMIMGOTJ/B0KQK0EG5NhqDolBmKhRG6JQUX8GJYD+aZaBaGweAqEwEkYPNpDaL4u2kIJXi8a5xgKPwViucQuj8EBrnqXJ/i0DARlyJwwCyIYglaLxtD" +
"GDpVjSRY7EwUY0kQexMD+MhrgsOJAB2LJzCKOAZG0O4gn8GANFuLptBaLpREKUwRG0MJylOOYPnuEpjjOTIamAYo7G/QxfDUMAsBAWI7ESe40ZuQ5bjafY+GycZcigMB" +
"ODOZJ/CoTo8F8GZGDGI58iaRhKEwZIhkYSZ8GcFYQVeZIqDCThsFiMQ7g+fI8n8LAOlyTw1CuMxSjMNQqHMUojDWSxPnyKJDB8CpjBSag+iSE4/EmUpLh0KI2lKCxNCi" +
"Mvkg0KxHhYNBSACMQyA6c5wn8MJrg2Axflga4DAaOAviuApyjgLorg0dJ/laDICAyNQyg8LR47INxznzfI3jOPkS4NQMDzCoPgMQUBNqzFyJAco0ROLRFOPkVIEB4v7F" +
"WBAeT/xTB7E+OYR4MAzjzAMG8GIxgPj8CSJwIolxjCJTeB8cw7hIjVDqD0LwkA3BpAMNYFgbAxDGF8C0aYxw+gpA8GEeI/QgjJFeHcc4/xBjggePEYgfRPjnAOJAN4+Q" +
"DjHCiN0TQhBMiODWOkA4+RqjGH0P4W4sRjCdB4GkaIxhOD6HiM0V4ehfCRFcEsDIZhkjcD4J8PwQR/j3D8Acf43x8h+B+Jkf49RPh/CCLIVIEwTBxFsP8L4+x/CAAgA4" +
"AIQAsADACMoSA6wghEAYIAQBAQA=="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABEwFg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDaMUjwlDiEgADCNAySCKkGRHG6MI6gOapC") +
"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"));
CascadeTree1->SelBackColor = 0x1000000;
CascadeTree1->SelForeColor = RGB(0,0,0);
CascadeTree1->BackColorHeader = 0x2000000;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exVScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exHScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollWidth = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack] = RGB(240,240,240);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb] = RGB(128,128,128);
CascadeTree1->ScrollHeight = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSBack] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSThumb] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exScrollSizeGrip] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exCSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBarSize] = RGB(2,0,0);
CascadeTree1->BackColorSortBar = CascadeTree1->BackColor;
CascadeTree1->EndUpdate();
CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"RO\\CJ";
CascadeTree1->EndUpdate();

40
How can I format a column so it display its content in a different way
// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	// Columns("StateCode").Visible = False
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->BeginUpdate();
		var_View->ContinueColumnScroll = false;
		var_View->ScrollBySingleLine = true;
		var_View->DrawGridLines = Excascadetreelib_tlb::GridLinesEnum::exAllLines;
		var_View->EnsureVisibleColumn(TVariant("Date"));
		var_View->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
		_tlb::ObjectPtr var_Object = var_View->Columns->get_Item(TVariant("Date"));
		_tlb::ObjectPtr var_Object1 = var_View->Columns->get_Item(TVariant("Function"));
		_tlb::ObjectPtr var_Object2 = var_View->Columns->get_Item(TVariant("Coordinates"));
		_tlb::ObjectPtr var_Object3 = var_View->Columns->get_Item(TVariant("Status"));
		var_View->EndUpdate();
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->FitCascadeColumns = 7;
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->ScrollWidth = 4;
CascadeTree1->ScrollHeight = 4;
CascadeTree1->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="));
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\OR";
CascadeTree1->EndUpdate();

39
How can I add a position column

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->Add(L"Pos");
			var_Column->Width = 32;
			var_Column->AllowSizing = false;
			var_Column->Position = 0;
			var_Column->FormatColumn = L"1 pos ``";
			var_Column->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellBackColor,TVariant(15790320));
			var_Column->Alignment = Excascadetreelib_tlb::AlignmentEnum::RightAlignment;
			var_Column->HeaderAlignment = var_Column->Alignment;
			var_Column->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellPaddingRight,TVariant(2));
			var_Column->set_Def(Excascadetreelib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(2));
			var_Column->set_Def(Excascadetreelib_tlb::DefColumnEnum::exHeaderPaddingLeft,TVariant(2));
			var_Column->set_Def(Excascadetreelib_tlb::DefColumnEnum::exHeaderPaddingRight,TVariant(2));
		var_View->CountLockedColumns = 1;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\IA";
CascadeTree1->EndUpdate();

38
How can I display icons or images

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->EnsureVisibleColumn(TVariant("Function"));
		_tlb::ObjectPtr var_Object = var_View->Columns->get_Item(TVariant("Function"));
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->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="));
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\MN";
CascadeTree1->EndUpdate();

37
How can I turn-on the control's status bar

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	CascadeTree1->StatusBarLabel = PChar(CascadeTree1->FormatABC(L"`<b>` + ( value replace `\\\\` with ` </b><font ;6><off 4>` )",TVariant(CascadeTree1->Name),TNoParam(),TNoParam()));
}

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

// ViewEndChanging event - Occurs once the user is about to change the view.
void __fastcall TForm1::CascadeTree1ViewEndChanging(TObject *Sender,Excascadetreelib_tlb::ViewOperationEnum   Operation)
{
	CascadeTree1->StatusBarLabel = PChar(CascadeTree1->FormatABC(L"`<b>` + ( value replace `\\\\` with ` </b><font ;6><off 4>` )",TVariant(CascadeTree1->Name),TNoParam(),TNoParam()));
}

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarHeight = 24;
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Name = L"Romania\\Cluj\\Baciu*";
CascadeTree1->EndUpdate();

36
How can I disable incremental searching
// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	CascadeTree1->View->AutoSearch = false;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

35
ScrollBar extension

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	// Columns("StateCode").Visible = False
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->ColumnAutoResize = true;
		var_View->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exVScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exHScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollWidth = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack] = RGB(240,240,240);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb] = RGB(128,128,128);
CascadeTree1->ScrollHeight = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSBack] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSThumb] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exScrollSizeGrip] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exCSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBarSize] = RGB(2,0,0);
CascadeTree1->EndUpdate();
CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->DefaultView[TNoParam()]->Columns->get_Item(TVariant("CountryName"))->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
CascadeTree1->DefaultView[TNoParam()]->NextView->Columns->get_Item(TVariant("StateName"))->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->NextView->NextView;
	var_View->ColumnAutoResize = false;
	Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->get_Item(TVariant("Name"));
		var_Column->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
		var_Column->Width = 128;
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		var_Items->set_SelectItem(var_Items->get_FindItem(TVariant("Anchorage"),TVariant("Name"),TNoParam()),true);
CascadeTree1->EndUpdate();

34
How can I access the next/prev/parent/child view

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	// Columns("StateCode").Visible = False
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->ColumnAutoResize = true;
		var_View->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitEqualCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"RO\\CJ";
CascadeTree1->DefaultView[TNoParam()]->Columns->get_Item(TVariant("CountryName"))->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
CascadeTree1->DefaultView[TNoParam()]->NextView->Columns->get_Item(TVariant("StateName"))->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()]->NextView->NextView;
	var_View->BeginUpdate();
	var_View->ColumnAutoResize = false;
	Excascadetreelib_tlb::IColumnPtr var_Column = var_View->Columns->get_Item(TVariant("Name"));
		var_Column->Width = 128;
		var_Column->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
	var_View->SingleSort = false;
	var_View->AllowGroupBy = true;
	var_View->Columns->get_Item(TVariant("Status"))->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortDescending;
	var_View->TreeColumnIndex = var_View->Columns->get_Item(TVariant("Name"))->Index;
	var_View->EndUpdate();
CascadeTree1->EndUpdate();

33
Predefined Keywords of ShowContextMenu property

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	// Columns("StateCode").Visible = False
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->ColumnAutoResize = true;
		var_View->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
	CascadeTree1->StatusBarLabel = PChar(CascadeTree1->FormatABC(L"`<b>` + ( value replace `\\\\` with ` </b><font ;6><off 4>` )",TVariant(CascadeTree1->Name),TNoParam(),TNoParam()));
}

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

// ViewEndChanging event - Occurs once the user is about to change the view.
void __fastcall TForm1::CascadeTree1ViewEndChanging(TObject *Sender,Excascadetreelib_tlb::ViewOperationEnum   Operation)
{
	CascadeTree1->StatusBarLabel = PChar(CascadeTree1->FormatABC(L"`<b>` + ( value replace `\\\\` with ` </b><font ;6><off 4>` )",TVariant(CascadeTree1->Name),TNoParam(),TNoParam()));
	CascadeTree1->ExecuteContextMenu = 0;
}

CascadeTree1->BeginUpdate();
CascadeTree1->AllowSplitView = Excascadetreelib_tlb::AllowSplitViewEnum::exAllowOneSplitView;
CascadeTree1->FitCascadeColumns = 3;
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitEqualCascadeMode;
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarHeight = 24;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exVScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exHScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollPartVisible[Excascadetreelib_tlb::ScrollBarEnum::exScroll,Excascadetreelib_tlb::ScrollPartEnum::exExtentThumbPart] = true;
CascadeTree1->ScrollWidth = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack] = RGB(240,240,240);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb] = RGB(128,128,128);
CascadeTree1->ScrollHeight = 4;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSBack] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSThumb] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSThumb];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exScrollSizeGrip] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exVSBack];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exCSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exHSplitBar] = CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar];
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBarSize] = RGB(2,0,0);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->ShowContextMenu = L"`vlevels=` + vlevels + `,vlevel=` + vlevel + `,hlevels=` + hlevels + `,hlevel=` + hlevel + `,view=` + view ";
CascadeTree1->SplitViewHeight = L"256";
CascadeTree1->EndUpdate();

32
How can I display the identifiers of the control's context menu (debug)

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	// Columns("StateCode").Visible = False
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->ColumnAutoResize = true;
		var_View->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
}

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

// ViewEndChanging event - Occurs once the user is about to change the view.
void __fastcall TForm1::CascadeTree1ViewEndChanging(TObject *Sender,Excascadetreelib_tlb::ViewOperationEnum   Operation)
{
	OutputDebugString( PChar(CascadeTree1->ExecuteContextMenu) );
}

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->ShowContextMenu = L"[debug]Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),[sep],Exit[def][id=1000]";
CascadeTree1->EndUpdate();

31
ShowContextMenu usage

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	// Columns("StateCode").Visible = False
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->ColumnAutoResize = true;
		var_View->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
}

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

// ViewEndChanging event - Occurs once the user is about to change the view.
void __fastcall TForm1::CascadeTree1ViewEndChanging(TObject *Sender,Excascadetreelib_tlb::ViewOperationEnum   Operation)
{
	OutputDebugString( PChar(CascadeTree1->ExecuteContextMenu) );
}

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->ShowContextMenu = L"Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),[sep],Exit[def][id=1000]";
CascadeTree1->EndUpdate();

30
How can I resize automatically all views, when the control is resized

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	// Columns("StateCode").Visible = False
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->ColumnAutoResize = true;
		var_View->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exAutoFitOnResizeClient | Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

29
How can I hide some columns

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	// Columns("StateCode").Visible = False
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->ColumnAutoResize = true;
		var_View->Columns->get_Item(TVariant("CountryCode"))->Visible = false;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

28
Is it possible to disable resizing the cascade columns

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	CascadeTree1->View->ColumnAutoResize = true;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exAutoFitOnResizeClient | Excascadetreelib_tlb::CascadeModeEnum::exDisableResizeCascadeColumns | Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

27
SplitFixCascadeMode Mode

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

CascadeTree1->BeginUpdate();
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

26
FixCascadeMode Mode

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

CascadeTree1->BeginUpdate();
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->DefColumnWidth = 96;
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

25
SplitEqualCascadeMode Mode

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

CascadeTree1->BeginUpdate();
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitEqualCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

24
Default Mode

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

CascadeTree1->BeginUpdate();
CascadeTree1->Background[Excascadetreelib_tlb::BackgroundPartEnum::exSplitBar] = RGB(196,196,196);
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

23
SingleCascadeMode ( single-view )

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSingleCascadeMode;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Cities Where CountryCode =") +
" 'RO' "));
	var_View->AllowGroupBy = true;
	var_View->SortBarVisible = true;
	var_View->Columns->get_Item(TVariant("StateCode"))->SortOrder = Excascadetreelib_tlb::SortOrderEnum::SortAscending;
	var_View->set_Name(TVariant("Name"));
CascadeTree1->Name = L"Isaccea";
CascadeTree1->EndUpdate();

22
How can I display the current selection, as a path

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	CascadeTree1->StatusBarLabel = CascadeTree1->Name;
}

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

// ViewEndChanging event - Occurs once the user is about to change the view.
void __fastcall TForm1::CascadeTree1ViewEndChanging(TObject *Sender,Excascadetreelib_tlb::ViewOperationEnum   Operation)
{
	CascadeTree1->StatusBarLabel = CascadeTree1->Name;
}

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

21
How can I add multiple-views to the control

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

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitFixCascadeMode;
CascadeTree1->set_DataSource(TVariant(String("Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;") +
"Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=St" +
"ateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Se" +
"lect * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Na" +
"me"));
CascadeTree1->Select = L"US\\AK";
CascadeTree1->EndUpdate();

20
I wish I select items based on names, rather than keys. Is that possible

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	CascadeTree1->View->ColumnAutoResize = false;
	TVariant label = TVariant(CascadeTree1->FormatABC(L"`<b>Select = </b>` + value",TVariant(CascadeTree1->Select),TNoParam(),TNoParam()));
	label = TVariant(CascadeTree1->FormatABC(L"A + `<br>` + `<b>Name = </b>` + B replace `|` with ` `",TVariant(label),TVariant(CascadeTree1->Name),TNoParam()));
	CascadeTree1->StatusBarLabel = L"label";
}

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

// ViewEndChanging event - Occurs once the user is about to change the view.
void __fastcall TForm1::CascadeTree1ViewEndChanging(TObject *Sender,Excascadetreelib_tlb::ViewOperationEnum   Operation)
{
	TVariant label = TVariant(CascadeTree1->FormatABC(L"`<b>Select = </b>` + value",TVariant(CascadeTree1->Select),TNoParam(),TNoParam()));
	label = TVariant(CascadeTree1->FormatABC(L"A + `<br>` + `<b>Name = </b>` + B replace `|` with ` `",TVariant(label),TVariant(CascadeTree1->Name),TNoParam()));
	CascadeTree1->StatusBarLabel = L"label";
}

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitEqualCascadeMode;
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarWordWrap | Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
String ds = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb";
String dm1 = "Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName";
ds = TVariant(CascadeTree1->FormatABC(L"A + `;` + B",TVariant(ds),TVariant(dm1),TNoParam()));
String dm2 = TVariant(String("Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Sel") +
"ect * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name");
ds = TVariant(CascadeTree1->FormatABC(L"A + ` >>> ` + B",TVariant(ds),TVariant(dm2),TNoParam()));
String dm3 = TVariant(String("Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=Ci") +
"ty;Name=Name");
ds = TVariant(CascadeTree1->FormatABC(L"A + ` >>> ` + B",TVariant(ds),TVariant(dm3),TNoParam()));
CascadeTree1->set_DataSource(TVariant(ds));
CascadeTree1->Name = L"Romania\\Cluj\\Baciu*";
CascadeTree1->EndUpdate();

19
I've noticed that I can't select multiple items. How can I do that

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	TVariant bColumnAutoResize = TVariant(CascadeTree1->FormatABC(L"not(A = `City`)",CascadeTree1->View->get_Tag(),TNoParam(),TNoParam()));
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->SingleSel = false;
		var_View->ColumnAutoResize = false;
	TVariant label = TVariant(CascadeTree1->FormatABC(L"`<b>Select = </b>` + value",TVariant(CascadeTree1->Select),TNoParam(),TNoParam()));
	label = TVariant(CascadeTree1->FormatABC(L"A + `<br>` + `<b>Name = </b>` + B replace `|` with ` `",TVariant(label),TVariant(CascadeTree1->Name),TNoParam()));
	CascadeTree1->StatusBarLabel = L"label";
}

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

// ViewEndChanging event - Occurs once the user is about to change the view.
void __fastcall TForm1::CascadeTree1ViewEndChanging(TObject *Sender,Excascadetreelib_tlb::ViewOperationEnum   Operation)
{
	TVariant label = TVariant(CascadeTree1->FormatABC(L"`<b>Select = </b>` + value",TVariant(CascadeTree1->Select),TNoParam(),TNoParam()));
	label = TVariant(CascadeTree1->FormatABC(L"A + `<br>` + `<b>Name = </b>` + B replace `|` with ` `",TVariant(label),TVariant(CascadeTree1->Name),TNoParam()));
	CascadeTree1->StatusBarLabel = L"label";
}

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitEqualCascadeMode;
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarWordWrap | Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarHeight = 48;
String ds = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb";
String dm1 = "Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName";
ds = TVariant(CascadeTree1->FormatABC(L"A + `;` + B",TVariant(ds),TVariant(dm1),TNoParam()));
String dm2 = TVariant(String("Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Sel") +
"ect * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name");
ds = TVariant(CascadeTree1->FormatABC(L"A + ` >>> ` + B",TVariant(ds),TVariant(dm2),TNoParam()));
String dm3 = TVariant(String("Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=Ci") +
"ty;Name=Name");
ds = TVariant(CascadeTree1->FormatABC(L"A + ` >>> ` + B",TVariant(ds),TVariant(dm3),TNoParam()));
CascadeTree1->set_DataSource(TVariant(ds));
CascadeTree1->Select = L"RO\\CJ|D*";
CascadeTree1->EndUpdate();

18
How do I programmatically selects a path/item

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	TVariant bColumnAutoResize = TVariant(CascadeTree1->FormatABC(L"not(A = `City`)",CascadeTree1->View->get_Tag(),TNoParam(),TNoParam()));
	CascadeTree1->View->ColumnAutoResize = false;
}

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

// ViewEndChanging event - Occurs once the user is about to change the view.
void __fastcall TForm1::CascadeTree1ViewEndChanging(TObject *Sender,Excascadetreelib_tlb::ViewOperationEnum   Operation)
{
	CascadeTree1->StatusBarLabel = CascadeTree1->Select;
}

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSplitEqualCascadeMode;
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorBottom;
String ds = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb";
String dm1 = "Member=Select * FROM Countries;Key=CountryCode;Tag=Country";
ds = TVariant(CascadeTree1->FormatABC(L"A + `;` + B",TVariant(ds),TVariant(dm1),TNoParam()));
String dm2 = TVariant(String("Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Tag=State ||| Member=Select * FROM Citi") +
"es WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City");
ds = TVariant(CascadeTree1->FormatABC(L"A + ` >>> ` + B",TVariant(ds),TVariant(dm2),TNoParam()));
String dm3 = TVariant(String("Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=Ci") +
"ty");
ds = TVariant(CascadeTree1->FormatABC(L"A + ` >>> ` + B",TVariant(ds),TVariant(dm3),TNoParam()));
CascadeTree1->set_DataSource(TVariant(ds));
CascadeTree1->Select = L"RO\\CJ";
CascadeTree1->EndUpdate();

17
DataSource/DataMember/Key/Tag

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	CascadeTree1->StatusBarLabel = PChar(CascadeTree1->FormatABC(TVariant(String("value replace `data source` with `<b><fgcolor=808080>Source</fgcolor></b>` replace `Source` with `<b><fgcolor=808080>Source</fg") +
	"color></b>` replace `Member` with `<b><fgcolor=808080>Member</fgcolor></b>` replace `Key` with `<b><fgcolor=808080>Key</fgcolor>" +
	"</b>` replace `Tag` with `<b><fgcolor=808080>Tag</fgcolor></b>` replace `;` with `;<br>`"),CascadeTree1->View->get_DataSource(),TNoParam(),TNoParam()));
	TVariant bColumnAutoResize = TVariant(CascadeTree1->FormatABC(L"not(A = `City`)",CascadeTree1->View->get_Tag(),TNoParam(),TNoParam()));
	TVariant nWidth = TVariant(CascadeTree1->FormatABC(L"A = `City` ? B : C",CascadeTree1->View->get_Tag(),CascadeTree1->View->WidthToFit,CascadeTree1->View->Width));
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		var_View->ColumnAutoResize = false;
		var_View->Width = nWidth;
}

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarHeight = 58;
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarWordWrap | Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
String ds = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb";
String dm1 = "Member=Select * FROM Countries;Key=CountryCode;Tag=Country";
ds = TVariant(CascadeTree1->FormatABC(L"A + `;` + B",TVariant(ds),TVariant(dm1),TNoParam()));
String dm2 = TVariant(String("Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Tag=State ||| Member=Select * FROM Citi") +
"es WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City");
ds = TVariant(CascadeTree1->FormatABC(L"A + ` >>> ` + B",TVariant(ds),TVariant(dm2),TNoParam()));
String dm3 = TVariant(String("Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=Ci") +
"ty");
ds = TVariant(CascadeTree1->FormatABC(L"A + ` >>> ` + B",TVariant(ds),TVariant(dm3),TNoParam()));
CascadeTree1->set_DataSource(TVariant(ds));
CascadeTree1->EndUpdate();

16
DataSource (view, data source, data member, ACCDB)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could \"Data Source=...;Data Member=...\" or \"Source=...;Member=...\" ";
CascadeTree1->DefColumnWidth = 336;
String ds = "Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb";
String dm = "Data Member=Select * FROM Countries";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->set_DataSource(TVariant(CascadeTree1->FormatABC(L"A + `;` + B",TVariant(ds),TVariant(dm),TNoParam())));
	var_View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

15
DataSource (view, data source, data member, MDB)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could \"Data Source=...;Data Member=...\" or \"Source=...;Member=...\" ";
CascadeTree1->DefColumnWidth = 336;
String ds = "Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb";
String dm = "Data Member=Select * FROM Countries";
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->set_DataSource(TVariant(CascadeTree1->FormatABC(L"A + `;` + B",TVariant(ds),TVariant(dm),TNoParam())));
	var_View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

14
DataSource (view, ADODB, ACCDB)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could be string (Source/Member), ADO or DAO objects";
CascadeTree1->DefColumnWidth = 336;
/*
	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 ado = Variant::CreateObject(L"ADODB.Recordset");
	ado->Open(TVariant("Countries"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->set_DataSource(ado);
	var_View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

13
DataSource (view, ADODB, MDB)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could be string (Source/Member), ADO or DAO objects";
CascadeTree1->DefColumnWidth = 336;
/*
	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 ado = Variant::CreateObject(L"ADODB.Recordset");
	ado->Open(TVariant("Countries"),TVariant("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->set_DataSource(ado);
	var_View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

12
DataSource (control, data source, data member, ACCDB)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could \"Data Source=...;Data Member=...\" or \"Source=...;Member=...\" ";
CascadeTree1->DefColumnWidth = 336;
String ds = "Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb";
String dm = "Data Member=Select * FROM Countries";
CascadeTree1->set_DataSource(TVariant(CascadeTree1->FormatABC(L"A + `;` + B",TVariant(ds),TVariant(dm),TNoParam())));
CascadeTree1->View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

11
DataSource (control, data source, data member, MDB)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could \"Data Source=...;Data Member=...\" or \"Source=...;Member=...\" ";
CascadeTree1->DefColumnWidth = 336;
String ds = "Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb";
String dm = "Data Member=Select * FROM Countries";
CascadeTree1->set_DataSource(TVariant(CascadeTree1->FormatABC(L"A + `;` + B",TVariant(ds),TVariant(dm),TNoParam())));
CascadeTree1->View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

10
DataSource (control, ADODB, ACCDB)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could be string (Source/Member), ADO or DAO objects";
CascadeTree1->DefColumnWidth = 336;
/*
	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 ado = Variant::CreateObject(L"ADODB.Recordset");
	ado->Open(TVariant("Countries"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
CascadeTree1->set_DataSource(ado);
CascadeTree1->View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

9
DataSource (control, ADODB, MDB)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could be string (Source/Member), ADO or DAO objects";
CascadeTree1->DefColumnWidth = 336;
/*
	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 ado = Variant::CreateObject(L"ADODB.Recordset");
	ado->Open(TVariant("Countries"),TVariant("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
CascadeTree1->set_DataSource(ado);
CascadeTree1->View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

8
DataSource (view, XMLDOMDocument)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could be a XML file name, a URL, an IStream, an IXMLDOMDocument";
CascadeTree1->DefColumnWidth = 336;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft XML, v3.0

	TypeLib: msxml3.dll

	to define the namespace: Msxml2_tlb
*/
//#include "MSXML2_TLB.h"
	Msxml2_tlb::IXMLDOMDocument2Ptr xml = Variant::CreateObject(L"MSXML.DOMDocument");
		xml->load(TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Testing.xml"));
	var_View->set_DataSource(xml);
	var_View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

7
DataSource (view, XML, file)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could be a XML file name, a URL, an IStream, an IXMLDOMDocument";
CascadeTree1->DefColumnWidth = 336;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->DefaultView[TNoParam()];
	var_View->set_DataSource(TVariant("http://www.exontrol.net/testing.xml"));
	var_View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

6
DataSource (control, XMLDOMDocument)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could be a XML file name, a URL, an IStream, an IXMLDOMDocument";
CascadeTree1->DefColumnWidth = 336;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft XML, v3.0

	TypeLib: msxml3.dll

	to define the namespace: Msxml2_tlb
*/
//#include "MSXML2_TLB.h"
Msxml2_tlb::IXMLDOMDocument2Ptr xml = Variant::CreateObject(L"MSXML.DOMDocument");
	xml->load(TVariant("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Testing.xml"));
CascadeTree1->set_DataSource(xml);
CascadeTree1->View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

5
DataSource (control, XML, file)

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

CascadeTree1->BeginUpdate();
CascadeTree1->StatusBarVisible = Excascadetreelib_tlb::StatusBarAnchorEnum::exStatusBarAnchorTop;
CascadeTree1->StatusBarLabel = L"<b>DataSource</b> could be a XML file name, a URL, an IStream, an IXMLDOMDocument";
CascadeTree1->DefColumnWidth = 336;
CascadeTree1->set_DataSource(TVariant("http://www.exontrol.net/testing.xml"));
CascadeTree1->View->ColumnAutoResize = true;
CascadeTree1->EndUpdate();

4
How can I get the selected items (sample 1)

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		TVariant k = TVariant(var_View->ParentView->get_Value(TNoParam()));
		var_View->BeginUpdate();
		var_View->ColumnAutoResize = true;
		var_View->set_Key(TVariant(-1));
		var_View->Columns->Add(L"k");
		Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 1`",TVariant(k),TNoParam(),TNoParam())));
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 2`",TVariant(k),TNoParam(),TNoParam())));
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 3`",TVariant(k),TNoParam(),TNoParam())));
		var_View->EndUpdate();
}

// ViewEndChanging event - Occurs once the user is about to change the view.
void __fastcall TForm1::CascadeTree1ViewEndChanging(TObject *Sender,Excascadetreelib_tlb::ViewOperationEnum   Operation)
{
	OutputDebugString( L"End" );
	OutputDebugString( L"Operation" );
	Excascadetreelib_tlb::IItemsPtr var_Items = CascadeTree1->View->Items;
		OutputDebugString( L"FocusItem" );
		OutputDebugString( var_Items->get_CellCaption(TVariant(var_Items->FocusItem),TVariant(0)) );
		OutputDebugString( L"SelectedItem" );
		OutputDebugString( var_Items->get_CellCaption(TVariant(var_Items->get_SelectedItem(0)),TVariant(0)) );
}

// ViewStartChanging event - Occurs once the user is about to change the view.
void __fastcall TForm1::CascadeTree1ViewStartChanging(TObject *Sender,Excascadetreelib_tlb::ViewOperationEnum   Operation)
{
	OutputDebugString( L"Start" );
	OutputDebugString( L"Operation" );
}

CascadeTree1->BeginUpdate();
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
	var_View->BeginUpdate();
	var_View->ColumnAutoResize = true;
	var_View->Columns->Add(L"Default");
	var_View->set_Key(TVariant(0));
	var_View->LinesAtRoot = Excascadetreelib_tlb::LinesAtRootEnum::exLinesAtRoot;
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		var_Items->AddItem(TVariant("Item A"));
		var_Items->set_SelectItem(var_Items->AddItem(TVariant("Item B")),true);
		var_Items->AddItem(TVariant("Item C"));
	var_View->EndUpdate();
CascadeTree1->EndUpdate();

3
Can I use this control as a simple tree

CascadeTree1->BeginUpdate();
CascadeTree1->Mode = Excascadetreelib_tlb::CascadeModeEnum::exSingleCascadeMode;
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
	var_View->BeginUpdate();
	var_View->ColumnAutoResize = true;
	var_View->Columns->Add(L"Default");
	var_View->set_Key(TVariant(-1));
	var_View->LinesAtRoot = Excascadetreelib_tlb::LinesAtRootEnum::exLinesAtRoot;
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		var_Items->AddItem(TVariant("Item A"));
		var_Items->InsertItem(var_Items->AddItem(TVariant("Item B")),TNoParam(),TVariant("Child"));
		var_Items->AddItem(TVariant("Item C"));
	var_View->EndUpdate();
CascadeTree1->EndUpdate();

2
How can I use this control

// CreateView event - A view has been created.
void __fastcall TForm1::CascadeTree1CreateView(TObject *Sender,Excascadetreelib_tlb::IView   *View)
{
	Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
		TVariant k = TVariant(var_View->ParentView->get_Value(TNoParam()));
		var_View->BeginUpdate();
		var_View->ColumnAutoResize = true;
		var_View->Columns->Add(L"k");
		Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 1`",TVariant(k),TNoParam(),TNoParam())));
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 2`",TVariant(k),TNoParam(),TNoParam())));
			var_Items->AddItem(TVariant(CascadeTree1->FormatABC(L"A + `-> Sub-Item 3`",TVariant(k),TNoParam(),TNoParam())));
		var_View->EndUpdate();
}

CascadeTree1->BeginUpdate();
Excascadetreelib_tlb::IViewPtr var_View = CascadeTree1->View;
	var_View->BeginUpdate();
	var_View->ColumnAutoResize = true;
	var_View->Columns->Add(L"Default");
	var_View->set_Key(TVariant(0));
	Excascadetreelib_tlb::IItemsPtr var_Items = var_View->Items;
		var_Items->AddItem(TVariant("Item A"));
		var_Items->set_SelectItem(var_Items->AddItem(TVariant("Item B")),true);
		var_Items->AddItem(TVariant("Item C"));
	var_View->EndUpdate();
CascadeTree1->EndUpdate();

1
How do I change the control's background color
CascadeTree1->BackColor = RGB(240,240,240);