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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutImageSize(32);
spTreeCube1->GetFont()->PutSize(_variant_t(long(16)));
spTreeCube1->PutCheckBoxWidth(32);
spTreeCube1->PutCheckBoxHeight(32);
spTreeCube1->Images(_bstr_t("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOq") +
"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");
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("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,_bstr_t("gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"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" +
"gRBCCQAgQEA==");
	var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"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");
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState0,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState1,0x2000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState2,0x3000000);
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(16);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Check");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasCheckBox,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutToString(L"Check A<img>1</img>,Check B<img>2</img>,Check C<img>3</img>");
	var_FaceTree->GetItemByIndex(1)->PutState(long(0),1);
spTreeCube1->EndUpdate();

109
ImageSize property on 16 (default) (specifies the size of control' icons)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutImageSize(16);
spTreeCube1->Images(_bstr_t("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==");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(16);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Check");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasCheckBox,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutToString(L"Check A<img>1</img>,Check B<img>2</img>,Check C<img>3</img>");
	var_FaceTree->GetItemByIndex(1)->PutState(long(0),1);
spTreeCube1->EndUpdate();

108
How can I add a hierarchy (multiple-columns), using the Item.ToString method

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutLinesAtRoot(EXTREECUBELib::exLinesAtRoot);
	var_FaceTree->GetColumns()->Add(L"1")->PutAlignment(EXTREECUBELib::LeftAlignment);
	var_FaceTree->GetColumns()->Add(L"2")->PutAlignment(EXTREECUBELib::LeftAlignment);
	var_FaceTree->GetColumns()->Add(L"3")->PutAlignment(EXTREECUBELib::LeftAlignment);
	var_FaceTree->GetItems()->PutToString(_bstr_t("Root 1;Root 2;Root 3(Child1.1;Child2.1;Child3.1(SubChild 1.1;SubChild 2.1;SubChild 3.1,SubChild 2.1;SubChild 2.2;SubChild 2.3),") +
"Child 1.2;Child 2.2;Child 3.2)");
	var_FaceTree->GetItems()->ExpandAll();
	OutputDebugStringW( var_FaceTree->GetItems()->GetItem(long(0))->GetToString() );

107
How can I add a hierarchy (single column), using the Item.ToString method

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutLinesAtRoot(EXTREECUBELib::exLinesAtRoot);
	var_FaceTree->GetColumns()->Add(L"")->PutAlignment(EXTREECUBELib::LeftAlignment);
	var_FaceTree->GetItems()->PutCount(1);
	var_FaceTree->GetItems()->GetItem(long(0))->PutToString(L"Root(Child1(SubChild 1,SubChild 2),Child2)");
	var_FaceTree->GetItems()->ExpandAll();
	OutputDebugStringW( var_FaceTree->GetItems()->GetItem(long(0))->GetToString() );

106
How can add items to a list

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->GetColumns()->Add(L"Pos")->PutFormatColumn(L"1 pos ``");
	var_FaceTree->GetItems()->PutCount(spTreeCube1->GetFrontFace()->GetFaceTree()->GetVisibleItemsCount());

105
How can I split a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutHTMLPicture(L"P1","c:\\exontrol\\images\\zipdisk.gif");
spTreeCube1->PutHTMLPicture(L"P2","c:\\exontrol\\images\\auction.gif");
spTreeCube1->PutHTMLPicture(L"P3","c:\\exontrol\\images\\colorize.gif");
spTreeCube1->PutHTMLPicture(L"P4","c:\\exontrol\\images\\auction.gif");
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	EXTREECUBELib::IFaceTreePtr var_FaceTree = var_Face->CreateTree();
		var_FaceTree->GetColumns()->Add(L"Default")->PutAlignment(EXTREECUBELib::LeftAlignment);
		EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
			EXTREECUBELib::IItemPtr var_Item = var_Items->Add("Choose your quick actions");
				var_Item->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item1 = var_Item->GetItems()->Add("");
					var_Item1->PutHeight(48);
					_bstr_t s = 0;
					var_Item1->PutValue(s,"<c><img>P1</img>");
					var_Item1->PutCellWidth(s,48);
					var_Item1->PutHasButton(s,VARIANT_TRUE);
					s = var_Item1->GetSplitCell(s);
					var_Item1->PutValue(s,"<c><img>P2</img>");
					var_Item1->PutCellWidth(s,48);
					var_Item1->PutHasButton(s,VARIANT_TRUE);
					s = var_Item1->GetSplitCell(s);
					var_Item1->PutValue(s,"<c><img>P3</img>");
					var_Item1->PutCellWidth(s,48);
					var_Item1->PutHasButton(s,VARIANT_TRUE);
					s = var_Item1->GetSplitCell(s);
					var_Item1->PutValue(s,"<c><img>P4</img>");
					var_Item1->PutCellWidth(s,48);
					var_Item1->PutHasButton(s,VARIANT_TRUE);
					s = var_Item1->GetSplitCell(s);
				var_Item->PutExpanded(VARIANT_TRUE);
spTreeCube1->EndUpdate();

104
I've noticed that the Face has no background color. Still, can I change the face's background color

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = var_Face->CreateCalendar();
		var_FaceCalendar->PutAutoSize(EXTREECUBELib::exFitClient);
		var_FaceCalendar->PutMaxMonthX(var_FaceCalendar->GetMinMonthX());
		var_FaceCalendar->PutMaxMonthY(var_FaceCalendar->GetMinMonthY());
		var_FaceCalendar->PutShowTodayButton(VARIANT_FALSE);
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceBackColor,long(15790320));
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceHeight,"height");
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceVisible,long(1));
spTreeCube1->EndUpdate();

103
How can I change the +/- expanding/collapsing buttons

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->BeginUpdate();
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABDgCg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzX") +
"IUBxAAqXZZFUaKAgOMJDTLBAzUSAAYhtHqeJBjID4JA6UJXRpIAIQSSBUjGOg6TiMUYZAguAxCEzZUT0fAYUQSCC3ZzDCKoRpiCT7Xg8V5OVbjUz9P7AMBwLA7erxap6" +
"PJeD54QymGp/R5eMhyLI8UxXFqRY6veKtJhGDIrT5CEIQVA9EyXJqnahqOiaCguPorQy/dYYdg2BYBPS6MAvG4bVrOd59XrgN42fY2ByzAqlMQwS7rOqiY6YWTnehWTo" +
"HE+JZUmoLB5CufQuAkBYkGO+ZrDWAo7keZZyHmH5+i8X4bluaJyHgGB9mQHx3JjBpViqJRHmueZ7H8Xo3i2fYAl+d5tncMRfDcdZeDMDIjCCJwokoEoQiEJ4KCIfIdgU" +
"SZIAWaoGCEUh2BIJ4gnKBgMDICAnHoCggg0Aw4k0KAJkIagaguYwIj4LAmiKEw2CUIIiHMUJSDQSYyGCFYMGQCJCD0JRjiMRg3gmTYjGSVgmgkchSD4JJklIRIXCSSQY" +
"j4U4UgkQhGE+EwJEkJJWhGpgGGIOBNmMdhPg8SRiHCGAlibNhohqJpJi4T4ZA2WYIgEYInGOGJlDkCQyECDoTEkKQ+E+C5oCIVhQCUCQpnSDoeg4SZZH8YdhjibQ7AiU" +
"gkgcJFyiyEYmGmOhqhyJ5pmILoYCKaRSB6Eg7CcZgZggaRqHqNoTiuDpKkKMormsQ4xiUYgYiKEo6CCWgWiqPovloZoGjoKQYiOLR1ECUAQIC");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAADhABDwCg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzX") +
"IUBxAAqXZZFUaKAgOMJDTLBAzUSAAYhtHqeJBjID4JA6UJXRpIAIQSSBUjGOg6TiMUYZAguAxCEzZUT0fAYUQSCC3ZzDCKoRpiCT7Xg8V5OVbjUz9P7AMBwLA7erxap6" +
"PJeD54QymGp/R5eMhyLI8UxXFqRY6veKtJhGDIrT5CEIQVA9EyXJqnahqOiaCguPorQy/dYYdg2BYBPS6MAvG4bVrOd59XrgN42fY2ByzAqlMQwS7rOqiY6YWTnehWTo" +
"HE+JZUmoLB5CufQuAkBYkGO+ZrDWAo7keZZyHmPQ+g8X4fluYBhneEB9l0Iwpg6RRWiqFQfg+V5nnefh/GAB5yAIfRMFeRZdHeDJDCiSApkoMoEiQKBJmKCIfCcYQiHI" +
"FYFkmeBaBOA5JmgsICEyAgJl6AZICMQJODMSgCHCGg/mKSI2C6C5jAiNgpCaIhjDYIggiIQxQlINBJjIYIVgwZAJAYPQlGOIxGDeCQNiMZJWCaCRyFIPgkmSUhEhcJJl" +
"CkUhThUZQiFCEYTmSQhSEkNYkHYBIBhiTgTHiXYTmOUhYhwJgJGmJhuhsJoZi4bYbCSeYUl2GJIBYCh4DmDhThCEwkAiaQ0hKE5oEIVITiEaB6BqAofkiaZwmSHgXnYG" +
"h4DuDpTjCDQiEgchAg0IpJBobodicKZqgaIAimmIguhcIZpEOMh4GGGIGhaKYrmkWpAmyLIrEqRo2DsGhWCGCgpCuQgNiEaosAsBYmGga5ChGCg6lcVANAEgI");
spTreeCube1->PutBackground(EXTREECUBELib::exTreeGlyphCollapsed,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exTreeGlyphExpanded,0x2000000);
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutExpandOnDblClick(VARIANT_TRUE);
	var_FaceTree->PutItemPadding(16);
	var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
	var_FaceTree->PutHasLines(EXTREECUBELib::exThinLine);
	var_FaceTree->PutLinesAtRoot(EXTREECUBELib::exGroupLinesInside);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->GetColumns()->Add(L"Def")->PutAlignment(EXTREECUBELib::LeftAlignment);
	var_FaceTree->GetItems()->PutToString(L"Root 1(Child 1,Child 2),Root 2(Child 3,Child 4)");
	var_FaceTree->GetItemByIndex(3)->PutExpanded(VARIANT_TRUE);
spTreeCube1->EndUpdate();

102
How can I use the ToString property

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->GetColumns()->PutToString(L"Column 1,Column 2,Column 3,Column 4");
	var_FaceTree->GetItems()->PutToString(L"1;2;3;4,5;6;7;8,9;10;11;12,13;14;15;16,17;18;29;20,21;22;23;24,25;26;27;28,29;30;31;32");

101
How can I use the Background property

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->GetVisualAppearance()->Add(1,"C:\\Program Files\\Exontrol\\ExButton\\Sample\\EBN\\Assorted\\calendar_single.ebn");
spTreeCube1->PutBackground(EXTREECUBELib::exDateHeader,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exWeeksHeader,RGB(250,250,250));
spTreeCube1->PutBackground(EXTREECUBELib::exDaysHeader,RGB(250,250,250));
spTreeCube1->PutBackground(EXTREECUBELib::exDateTodayUp,0x2000000);
spTreeCube1->PutBackground(EXTREECUBELib::exDateTodayForeColor,RGB(255,255,255));
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = spTreeCube1->GetFrontFace()->CreateCalendar();
	var_FaceCalendar->PutDate(COleDateTime(2016,1,1,0,00,00).operator DATE());
	var_FaceCalendar->PutAutoSize(EXTREECUBELib::exFitClient);
	var_FaceCalendar->PutMaxMonthX(var_FaceCalendar->GetMinMonthX());
	var_FaceCalendar->PutMaxMonthY(var_FaceCalendar->GetMinMonthY());
spTreeCube1->EndUpdate();

100
How can I display two lists of radio-buttons

// FaceTreeStateChanged event - Notifies that a cell changes its state into a face of tree type.
void OnFaceTreeStateChangedTreeCube1(LPDISPATCH   Tree,long   Item,long   Column)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	EXTREECUBELib::IItemPtr var_Item = spTreeCube1->GetFrontFace()->GetFaceTree()->GetItemByIndex(Item);
		OutputDebugStringW( L"State" );
		OutputDebugStringW( _bstr_t(var_Item->GetState(long(0))) );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
	var_FaceTree->PutItemPadding(16);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exNoLines);
	var_FaceTree->GetColumns()->Add(L"Radio")->PutAlignment(EXTREECUBELib::LeftAlignment);
	EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
		EXTREECUBELib::IItemPtr var_Item = var_Items->Add("Group A");
			EXTREECUBELib::IItemsPtr var_Items1 = var_Item->GetItems();
				EXTREECUBELib::IItemPtr var_Item1 = var_Items1->Add("Radio <b>1");
					var_Item1->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item1->PutRadioGroup(long(0),1234);
				EXTREECUBELib::IItemPtr var_Item2 = var_Items1->Add("Radio <b>2");
					var_Item2->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item2->PutRadioGroup(long(0),1234);
					var_Item2->PutState(long(0),1);
				EXTREECUBELib::IItemPtr var_Item3 = var_Items1->Add("Radio <b>3");
					var_Item3->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item3->PutRadioGroup(long(0),1234);
			var_Item->PutExpanded(VARIANT_TRUE);
		EXTREECUBELib::IItemPtr var_Item4 = var_Items->Add("Group B");
			EXTREECUBELib::IItemsPtr var_Items2 = var_Item4->GetItems();
				EXTREECUBELib::IItemPtr var_Item5 = var_Items2->Add("Radio <b>1");
					var_Item5->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item5->PutRadioGroup(long(0),1235);
				EXTREECUBELib::IItemPtr var_Item6 = var_Items2->Add("Radio <b>2");
					var_Item6->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item6->PutRadioGroup(long(0),1235);
				EXTREECUBELib::IItemPtr var_Item7 = var_Items2->Add("Radio <b>3");
					var_Item7->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item7->PutRadioGroup(long(0),1235);
					var_Item7->PutState(long(0),1);
			var_Item4->PutExpanded(VARIANT_TRUE);

99
How can I display a list of check-boxes

// FaceTreeStateChanged event - Notifies that a cell changes its state into a face of tree type.
void OnFaceTreeStateChangedTreeCube1(LPDISPATCH   Tree,long   Item,long   Column)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	EXTREECUBELib::IItemPtr var_Item = spTreeCube1->GetFrontFace()->GetFaceTree()->GetItemByIndex(Item);
		OutputDebugStringW( L"State" );
		OutputDebugStringW( _bstr_t(var_Item->GetState(long(0))) );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
	var_FaceTree->PutItemPadding(16);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exNoLines);
	var_FaceTree->GetColumns()->Add(L"Check")->PutAlignment(EXTREECUBELib::LeftAlignment);
	EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
		var_Items->Add("Check <b>1")->PutHasCheckBox(long(0),VARIANT_TRUE);
		var_Items->Add("Check <b>2")->PutHasCheckBox(long(0),VARIANT_TRUE);
		EXTREECUBELib::IItemPtr var_Item = var_Items->Add("Check <b>3");
			var_Item->PutHasCheckBox(long(0),VARIANT_TRUE);
			var_Item->PutState(long(0),1);
		var_Items->Add("Check <b>4")->PutHasCheckBox(long(0),VARIANT_TRUE);

98
How do I get the selected caption

// FaceTreeSelectionChanged event - Notifies that the user selects a new item/column into a face of tree type.
void OnFaceTreeSelectionChangedTreeCube1(LPDISPATCH   Tree)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( L"Value" );
	OutputDebugStringW( _bstr_t(spTreeCube1->GetFrontFace()->GetFaceTree()->GetValue()) );
	OutputDebugStringW( L"Caption" );
	OutputDebugStringW( spTreeCube1->GetFrontFace()->GetFaceTree()->GetCaption() );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	EXTREECUBELib::IFaceTreePtr var_FaceTree = var_Face->CreateTree();
		var_FaceTree->PutItemPadding(20);
		var_FaceTree->GetColumns()->PutCount(5);
		var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
		var_FaceTree->GetItems()->PutCount(spTreeCube1->GetFrontFace()->GetFaceTree()->GetVisibleItemsCount());
		var_FaceTree->GetColumns()->GetItem(long(0))->PutFormatColumn(L"(0:=(1989 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->GetColumns()->GetItem(long(1))->PutFormatColumn(L"(0:=(1990 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->GetColumns()->GetItem(long(2))->PutFormatColumn(L"(0:=(1991 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->GetColumns()->GetItem(long(3))->PutFormatColumn(L"(0:=(1992 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->GetColumns()->GetItem(long(4))->PutFormatColumn(L"(0:=(1993 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");

97
How do I get the selected value

// FaceTreeSelectionChanged event - Notifies that the user selects a new item/column into a face of tree type.
void OnFaceTreeSelectionChangedTreeCube1(LPDISPATCH   Tree)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( L"Value" );
	OutputDebugStringW( _bstr_t(spTreeCube1->GetFrontFace()->GetFaceTree()->GetValue()) );
	OutputDebugStringW( L"Caption" );
	OutputDebugStringW( spTreeCube1->GetFrontFace()->GetFaceTree()->GetCaption() );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	EXTREECUBELib::IFaceTreePtr var_FaceTree = var_Face->CreateTree();
		var_FaceTree->PutItemPadding(20);
		var_FaceTree->GetColumns()->PutCount(5);
		var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
		var_FaceTree->GetItems()->PutCount(spTreeCube1->GetFrontFace()->GetFaceTree()->GetVisibleItemsCount());
		var_FaceTree->GetColumns()->GetItem(long(0))->PutFormatColumn(L"(0:=(1989 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->GetColumns()->GetItem(long(1))->PutFormatColumn(L"(0:=(1990 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->GetColumns()->GetItem(long(2))->PutFormatColumn(L"(0:=(1991 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->GetColumns()->GetItem(long(3))->PutFormatColumn(L"(0:=(1992 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->GetColumns()->GetItem(long(4))->PutFormatColumn(L"(0:=(1993 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");

96
How can I add buttons on the face

// FaceTreeButtonClick event - Notifies that a cell of button's type has been clicked.
void OnFaceTreeButtonClickTreeCube1(LPDISPATCH   Tree,long   Item,long   Column)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( L"Item" );
	OutputDebugStringW( L"Column" );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exNoLines);
	var_FaceTree->PutItemPadding(16);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"Buttons");
		var_Column->PutFormatColumn(L"1 index `A-Z`");
		var_Column->PutDef(EXTREECUBELib::exCellHasButton,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutCount(4);

95
How do I programmatically selects a date (method 2)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = spTreeCube1->GetFrontFace()->CreateCalendar();
	var_FaceCalendar->PutValue("Jan 21");

94
How do I programmatically selects a date (method 1)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = spTreeCube1->GetFrontFace()->CreateCalendar();
	var_FaceCalendar->PutDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_FaceCalendar->PutSelDate(var_FaceCalendar->GetDate());

93
How can I display a hyperlink element
// AnchorClick event - Occurs when an anchor element is clicked.
void OnAnchorClickTreeCube1(long   Face,LPCTSTR   AnchorID,LPCTSTR   Options)
{
	OutputDebugStringW( L"Face" );
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( L"AnchorID" );
	OutputDebugStringW( L"Options" );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exNoLines);
	var_FaceTree->GetItems()->PutToString(L"<a A1\\;options1>Item 1</a>,<a A2\\;options2>Item 2</a>");

92
Can I display image and multiple-lines items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutHTMLPicture(L"DriveC","c:\\exontrol\\images\\zipdisk.gif");
spTreeCube1->PutHTMLPicture(L"DriveD","c:\\exontrol\\images\\auction.gif");
spTreeCube1->PutHTMLPicture(L"DriveE","c:\\exontrol\\images\\colorize.gif");
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetTopFace();
	var_Face->PutRelativeMargins(L"0,32,0,0");
	EXTREECUBELib::IFaceTreePtr var_FaceTree = var_Face->CreateTree();
		var_FaceTree->PutHasLines(EXTREECUBELib::exNoLine);
		var_FaceTree->PutDrawGridLines(EXTREECUBELib::exNoLines);
		var_FaceTree->PutItemPadding(24);
		var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
		var_FaceTree->PutShowSelection(VARIANT_TRUE);
		var_FaceTree->PutSelBackColor(RGB(240,240,240));
		var_FaceTree->GetColumns()->Add(L"Default")->PutAlignment(EXTREECUBELib::LeftAlignment);
		EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
			EXTREECUBELib::IItemPtr var_Item = var_Items->Add("Storage");
				var_Item->PutDivider(0);
				var_Item->PutBold(VARIANT_TRUE);
				var_Item->PutSelectable(VARIANT_FALSE);
			EXTREECUBELib::IItemPtr var_Item1 = var_Items->Add("Choose a drive to see what's taking up space.");
				var_Item1->PutSelectable(VARIANT_FALSE);
				var_Item1->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item2 = var_Item1->GetItems()->Add("<img>DriveC:64</img>");
					var_Item2->PutHeight(68);
					var_Item2->PutBackgroundExt(long(0),L"none[(76,4,100%-76,100%-8)](client[text=``],bottom[16,back=RGB(204,204,204)](left[0%,back=RGB(0,120,215)]))");
					var_Item2->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExtWordWrap,VARIANT_TRUE);
					var_Item2->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExt,"<fgcolor=000000>LROG (C:)<br>58.7 GB used out of 150 GB");
					var_Item2->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt,"39%");
				EXTREECUBELib::IItemPtr var_Item3 = var_Item1->GetItems()->Add("<img>DriveD:64</img>");
					var_Item3->PutHeight(68);
					var_Item3->PutBackgroundExt(long(0),L"none[(76,4,100%-76,100%-8)](client[text=``],bottom[16,back=RGB(204,204,204)](left[0%,back=RGB(0,120,215)]))");
					var_Item3->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExtWordWrap,VARIANT_TRUE);
					var_Item3->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExt,"<fgcolor=000000>System (D:)<br>112 MB used out of 144 GB");
					var_Item3->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt,"1%");
				EXTREECUBELib::IItemPtr var_Item4 = var_Item1->GetItems()->Add("<img>DriveD:64</img>");
					var_Item4->PutHeight(68);
					var_Item4->PutBackgroundExt(long(0),L"none[(76,4,100%-76,100%-8)](client[text=``],bottom[16,back=RGB(204,204,204)](left[0%,back=RGB(0,120,215)]))");
					var_Item4->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExtWordWrap,VARIANT_TRUE);
					var_Item4->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExt,"<fgcolor=000000>Work (E:)<br>53.0 GB used out of 635 GB");
					var_Item4->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt,"8%");
				EXTREECUBELib::IItemPtr var_Item5 = var_Item1->GetItems()->Add("<img>DriveE:64</img>");
					var_Item5->PutHeight(68);
					var_Item5->PutBackgroundExt(long(0),L"none[(76,4,100%-76,100%-8)](client[text=``],bottom[16,back=RGB(204,204,204)](left[0%,back=RGB(0,120,215)]))");
					var_Item5->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExtWordWrap,VARIANT_TRUE);
					var_Item5->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExt,"<fgcolor=000000>DVD RW Drive (G:)<br>0.0 GB used out of 0.0 GB");
					var_Item5->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt,"0%");
				var_Item1->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item6 = var_Items->Add("Save Locations");
				var_Item6->PutDivider(0);
				var_Item6->PutBold(VARIANT_TRUE);
				var_Item6->PutSelectable(VARIANT_FALSE);
			EXTREECUBELib::IItemPtr var_Item7 = var_Items->Add("Change where your apps, documents, music, pictures and videos are saved by default.");
				var_Item7->PutSelectable(VARIANT_FALSE);
				var_Item7->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item8 = var_Item7->GetItems()->Add("New apps will save to:");
					var_Item8->PutSelectable(VARIANT_FALSE);
					EXTREECUBELib::IItemPtr var_Item9 = var_Item8->GetItems()->Add("Drive C");
						var_Item9->PutSelectable(VARIANT_FALSE);
						var_Item9->PutHeight(24);
						var_Item9->PutHasRadioButton(long(0),VARIANT_TRUE);
						var_Item9->PutRadioGroup(long(0),1234);
						var_Item9->PutState(long(0),1);
						_variant_t s = var_Item9->GetSplitCell(long(0));
						var_Item9->PutValue(s,"Drive D");
						var_Item9->PutHasRadioButton(s,VARIANT_TRUE);
						var_Item9->PutRadioGroup(s,1234);
						s = var_Item9->GetSplitCell(s);
						var_Item9->PutValue(s,"Drive E");
						var_Item9->PutHasRadioButton(s,VARIANT_TRUE);
						var_Item9->PutRadioGroup(s,1234);
					var_Item8->PutExpanded(VARIANT_TRUE);
				EXTREECUBELib::IItemPtr var_Item10 = var_Item7->GetItems()->Add("New documents will save to:");
					var_Item10->PutSelectable(VARIANT_FALSE);
					EXTREECUBELib::IItemPtr var_Item11 = var_Item10->GetItems()->Add("Drive C");
						var_Item11->PutSelectable(VARIANT_FALSE);
						var_Item11->PutHeight(24);
						var_Item11->PutHasRadioButton(long(0),VARIANT_TRUE);
						var_Item11->PutRadioGroup(long(0),1235);
						s = var_Item11->GetSplitCell(long(0));
						var_Item11->PutValue(s,"Drive D");
						var_Item11->PutHasRadioButton(s,VARIANT_TRUE);
						var_Item11->PutRadioGroup(s,1235);
						var_Item11->PutState(s,1);
						s = var_Item11->GetSplitCell(s);
						var_Item11->PutValue(s,"Drive E");
						var_Item11->PutHasRadioButton(s,VARIANT_TRUE);
						var_Item11->PutRadioGroup(s,1235);
					var_Item10->PutExpanded(VARIANT_TRUE);
				EXTREECUBELib::IItemPtr var_Item12 = var_Item7->GetItems()->Add("New music will save to:");
					var_Item12->PutSelectable(VARIANT_FALSE);
					EXTREECUBELib::IItemPtr var_Item13 = var_Item12->GetItems()->Add("Drive C");
						var_Item13->PutSelectable(VARIANT_FALSE);
						var_Item13->PutHeight(24);
						var_Item13->PutHasRadioButton(long(0),VARIANT_TRUE);
						var_Item13->PutRadioGroup(long(0),1236);
						s = var_Item13->GetSplitCell(long(0));
						var_Item13->PutValue(s,"Drive D");
						var_Item13->PutHasRadioButton(s,VARIANT_TRUE);
						var_Item13->PutRadioGroup(s,1236);
						var_Item13->PutState(s,1);
						s = var_Item13->GetSplitCell(s);
						var_Item13->PutValue(s,"Drive E");
						var_Item13->PutHasRadioButton(s,VARIANT_TRUE);
						var_Item13->PutRadioGroup(s,1236);
					var_Item12->PutExpanded(VARIANT_TRUE);
				EXTREECUBELib::IItemPtr var_Item14 = var_Item7->GetItems()->Add("New pictures will save to:");
					var_Item14->PutSelectable(VARIANT_FALSE);
					EXTREECUBELib::IItemPtr var_Item15 = var_Item14->GetItems()->Add("Drive C");
						var_Item15->PutSelectable(VARIANT_FALSE);
						var_Item15->PutHeight(24);
						var_Item15->PutHasRadioButton(long(0),VARIANT_TRUE);
						var_Item15->PutRadioGroup(long(0),1237);
						s = var_Item15->GetSplitCell(long(0));
						var_Item15->PutValue(s,"Drive D");
						var_Item15->PutHasRadioButton(s,VARIANT_TRUE);
						var_Item15->PutRadioGroup(s,1237);
						var_Item15->PutState(s,1);
						s = var_Item15->GetSplitCell(s);
						var_Item15->PutValue(s,"Drive E");
						var_Item15->PutHasRadioButton(s,VARIANT_TRUE);
						var_Item15->PutRadioGroup(s,1237);
					var_Item14->PutExpanded(VARIANT_TRUE);
				EXTREECUBELib::IItemPtr var_Item16 = var_Item7->GetItems()->Add("New videos will save to:");
					var_Item16->PutSelectable(VARIANT_FALSE);
					EXTREECUBELib::IItemPtr var_Item17 = var_Item16->GetItems()->Add("Drive C");
						var_Item17->PutSelectable(VARIANT_FALSE);
						var_Item17->PutHeight(24);
						var_Item17->PutHasRadioButton(long(0),VARIANT_TRUE);
						var_Item17->PutRadioGroup(long(0),1238);
						s = var_Item17->GetSplitCell(long(0));
						var_Item17->PutValue(s,"Drive D");
						var_Item17->PutHasRadioButton(s,VARIANT_TRUE);
						var_Item17->PutRadioGroup(s,1238);
						var_Item17->PutState(s,1);
						s = var_Item17->GetSplitCell(s);
						var_Item17->PutValue(s,"Drive E");
						var_Item17->PutHasRadioButton(s,VARIANT_TRUE);
						var_Item17->PutRadioGroup(s,1238);
					var_Item16->PutExpanded(VARIANT_TRUE);
				var_Item7->PutExpanded(VARIANT_TRUE);
		var_FaceTree->EnsureVisibleItem(0);
spTreeCube1->PutEnsureVisibleFaceMargin(0);
spTreeCube1->EnsureVisibleFace(EXTREECUBELib::exTopFace,vtMissing);
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::exFitToEnsureFace);
spTreeCube1->EndUpdate();

91
How can I use the BackgroundExt/BackgroundExtValue properties

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetBottomFace();
	var_Face->PutRelativeMargins(L"0,32,0,0");
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceCaption,"<c><font ;18>Battery Saver");
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceBackgroundExt,"bottom[2],bottom[4,back=RGB(0,0,0)]");
	EXTREECUBELib::IFaceTreePtr var_FaceTree = var_Face->CreateTree();
		var_FaceTree->PutHasLines(EXTREECUBELib::exNoLine);
		var_FaceTree->PutDrawGridLines(EXTREECUBELib::exNoLines);
		var_FaceTree->PutItemPadding(24);
		var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
		var_FaceTree->PutShowSelection(VARIANT_FALSE);
		var_FaceTree->GetColumns()->Add(L"Default")->PutAlignment(EXTREECUBELib::LeftAlignment);
		EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
			EXTREECUBELib::IItemPtr var_Item = var_Items->Add("Overview");
				var_Item->PutDivider(0);
				var_Item->PutBold(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item1 = var_Items->Add("Batter level (charging):");
				var_Item1->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item2 = var_Item1->GetItems()->Add("");
					var_Item2->PutBackgroundExt(long(0),L"none[(2,2,100%-4,100%-4)](top[24,text=`10%`],bottom[6,back=RGB(204,204,204)](left[10%,back=RGB(0,120,215)]))");
					var_Item2->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt,"65%");
					var_Item2->PutBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExt,var_Item2->GetBackgroundExtValue(long(0),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt));
				var_Item1->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item3 = var_Items->Add("Estimated time to full charge:");
				EXTREECUBELib::IItemPtr var_Item4 = var_Item3->GetItems()->Add(double(0.15125));
					var_Item4->PutFormatCell(long(0),_bstr_t("((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ") +
"? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')");
					var_Item4->PutHeight(24);
				var_Item3->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item5 = var_Items->Add("Battery Saver");
				var_Item5->PutDivider(0);
				var_Item5->PutBold(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item6 = var_Items->Add("Extends battery life by limiting background activity and push notifications. ");
				var_Item6->PutSingleLine(long(0),VARIANT_FALSE);
			EXTREECUBELib::IItemPtr var_Item7 = var_Items->Add("Batter saver is currently:");
				var_Item7->PutEnabled(VARIANT_FALSE);
				var_Item7->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item8 = var_Item7->GetItems()->Add("");
					var_Item8->PutHeight(24);
					var_Item8->PutHasCheckBox(long(0),VARIANT_TRUE);
					var_Item8->PutState(long(0),2);
					var_Item8->PutFormatCell(long(0),L"state = 1 ? `On` : `Off`");
					var_Item8->PutEnabled(VARIANT_FALSE);
				var_Item7->PutExpanded(VARIANT_TRUE);
			var_Items->Add("Battery Saver is off while charging.  Choose, when battery saver turns on automatically and how it affects your system.")->PutSingleLine(long(0),VARIANT_FALSE);
			EXTREECUBELib::IItemPtr var_Item9 = var_Items->Add("<c>Battery Saver Settings");
				var_Item9->PutSingleLine(long(0),VARIANT_FALSE);
				var_Item9->PutHasButton(long(0),VARIANT_TRUE);
spTreeCube1->PutEnsureVisibleFaceMargin(0);
spTreeCube1->EnsureVisibleFace(EXTREECUBELib::exBottomFace,vtMissing);
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::exFitToEnsureFace);
spTreeCube1->EndUpdate();

90
How can I change the visual appearance for check and radio buttons

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutCheckBoxWidth(44);
spTreeCube1->PutCheckBoxHeight(20);
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABJACg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIxDFIsBxPFKCQChEZBUjKAwyDBIUzSD") +
"IUBhZBIKI7hGa3NBwJAAUTRch0j4iCRQGiYZyHKcxMYgIYCUBkERtMw0GyERQhGb4DoGA4IBhFZQVVLsRBIDh2bbuG4LSrWdJ3OyaN5EbbgZz9P7AMBwLA8EwXBqHYIU" +
"GJGbhlbTnR7HMhvDIsPDnFqIZhmOZZXjlfh7T7KNByO6LcI3AiDagtWpNTpjf5dV7YNh2LY9UzXNq3bI1W5aUqyAZ9QQpeB0LILYDbRp/FzyO5NNrHG6dZ7oOh1doOUI" +
"tlaP5lgcPA7hEJ47H8SD0l4LwfhOSJ9nOIh9DefBREMKYMDaX59nsVhvlKdBpCGfgIl+L43lGG5lH+YAGlWZw/EYOAVH8ZQXncdBJDwIJGkiGYDlmUh2BKABhEgVJpgW" +
"X4BA4BxcAeWB1H8KJiAaSJJgiWZWAmVA0CEWIln8JYikWfZpCIXARE0fw3GMRpJnaCRYBGWg6gqI5HgoJxfkYCQFlkX5PhkFYyBAJIImGABpGOWQ1k8OxlAWfZ6BGJA1" +
"noRQ+GQeQmEoX4kkkOheG2JQDjYUh+iMGJODUbBjHkbAzg6BxpH4bhsmOdZ6EEGAbmIAR/gSCZWkmfYShwYJYlOH5mnoBYvCSaBFnyDYhlcKAll2AwPAaSggCiWZaD6A" +
"ogiEc4mBmBpYnePZxGMHw3lUeoGGUN5aH8NJpDoBgDgERg6GGFICh2d4GiWK5cngDgvHqWInG0cIfFyBwpjqLArkcTZVHWV5nGaNhxA6VoVicahajaNo9gUHI2nIdRwB" +
"wJoOkSMJlFmKpWjWWY2HwPYwm2SxJHIe5sGsYpiGcXpHj6XYxA6NBFAkQBAIC");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAADhABB4Cg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIxDFIsBxPFKCQChEZBUjKAwyDBIUzSD") +
"IUBhZBIKI7hGa3NBwJAAUTRch0j4iCRQGiYZyHKcxMYgIYCUBkERtMw0GyERQhGb4DoGA4IBhFZQVVLsRBIDh2bbuG4LSrWdJ3Oy3KKiQy5cABPq/b6wDA8CwXAaHYRi" +
"GDYThmF4dRQAG6RcTLWrPFqVZheGYua4CLBxRrINA0LD9DyHJKnaZkDgpUQGN5dTS4GwPQCN3xRWzUyBaQzJfAZV7Lbw3PadX4XRLHcLwfAXFqWaaNZLneh5DouDz3P5" +
"YMuaRBicQ4nl6bpuBwKYRnuUY2jsfg9B0b43hOH5KjucQPnwOpMi+A4pnab5qB0a4znuf57n4f5gAeeJqC4R42mEcg5AoIRBnUfggkgLJiCaRA4AYEoEl+Y4AhcDpaFO" +
"GIrBgDYyBwHICmIB5djge4hEilY8g0MotiUZICkMYB6AEIgYDYIh0g+Q5cm+CYjgOfJ6DuDZ2hSWggkESI6DCDJjCkFZDg0Yx4mYJYOmOVoiD8BQhlgfhEgwZRGBoJIS" +
"y0IgqGoIpDhCJAVCUWQaFMY5fAkYgBD+D5TmyYAlENPBnCsRhFkoYYcmYMAAmkLRHDmGZ9h2Rw4BkeBnFmeZWHSGIYHeQZuHoHonjGboamaVwYmIJwEEYbZNiCaRKAmd" +
"x1hyNZChWIQpjcKZYHAKQ6FqHIoh0Vp6hkcBqgoAodikKgmi2LYnmsCohkAXoXkqMojgMIpKh2Gw6lEFAlAEgIA==");
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState0,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState1,0x2000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState2,0x1f0f0f0);
spTreeCube1->PutRadioButtonWidth(23);
spTreeCube1->PutRadioButtonHeight(23);
EXTREECUBELib::IAppearancePtr var_Appearance1 = spTreeCube1->GetVisualAppearance();
	var_Appearance1->Add(3,_bstr_t("gBFLBCJwBAEHhEJAADhABNoCg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSF") +
"IADRfFoWmxTdAcYSCGSZZrGOiQADIM40R7UAABPBNKR1BKmHZDQRAApqXIjVDAYIQSSBUlkHScRijDICXSIIQmbajIZoJCiVZ3VaGETnRQlJQuEgOHZwDAsBwPBqBPzi" +
"Lp4WzmGqhR5ichYHI8RYVTKXYy3DxZW7OO4PQjQM7hHL8fwlfTuagyGpZOxjP5cdrYHw2J7NUzJeDxbhrTb6Zh7ILVX7TNIwXAdD4PIKmNryORsC4XG5pZ7oOh6Lo3G4" +
"rhWZI2nOL4eBON4LkeRJvHWDxvB6G5Lmac56D0OY3hMU5bm6bRoiAeA9DMX5riydJ+D8P4vEeO4xkEcQfCYBZrHKXgzlme4BmCB4eAUZRbAaAZeGsDg4EYCYEmERoaBE" +
"OJaiMIY2EIXo2FYFYHmIBp1j8OoQhcYZNDiIgIiYE4Jl2BAlj0agOmiKgyH6Xo2jECYGE8WJmDODpehgFgZEIXI3DyfoQmQSQWEaEZkgkJhKhKZA2hmSxCEyGREnSFJk" +
"kkVhWwCCAthFKRjiIXhpiXOhihGYwJESSRCFuIxqGoPomkmDhuhWT45kSXYcl8UxdAkbgPBaMhTD0JApj4foRBoaJ5iqAxdmadhzDcWxpgIf4bhsY4Gg6GYYDcegNGUY" +
"g6VMIsBBmNg8CmRwuCOJBgBaAgXh6JQzl6JocE+OQQn+KpqkqNouivgQiiaLJPHaMZYHwQAHHIdRrA6ep2jMbYqx2RxzmqBpajOLxOnacYPHcHZnHGOlynmbo0jSbRLF" +
"aJoJlyNpplyKArhcGZcgMWpGjCXo4liM4ukiHpngkeJojiTZphmLIDG2Nwak2N4vEaAJsj2bpLgWFxlGGExOn4dgvHOMpxGgbwkAyaxEFCFAEICA=");
	var_Appearance1->Add(4,_bstr_t("gBFLBCJwBAEHhEJAADhABCEMACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSF") +
"IADRfFoWmxTdAcYSCGSZZrGOiQADINI0R7UAABPBIMSjAamHZDQRAApqXIjVaAhySQKksg6TiMUYZAbaRBCEzbUZDNBIopUQLVU5ABbUEqBIipIrEQLHNwPBaEYZiOIY" +
"W5re4cfzIMhyLI8Ob3CqHZhleTwTjWGYvSp1dBbTQ2QyVRanMDqOjsKxmW5Gbh5NhfHY8dxnDKcZ5jGSudrjEZ9VpmG74JzeEbjRj8chxT4PDxnBK/YDSWgdLo8VzXBp" +
"cG2MY4maXxzFKQRxHgOQeC8H4TkuZhzHoNR9kaXpNnONZsGGMo9B4A5bmuFZ7n4Pw/i+XpFmSVB/mAB41hsQJfBYOJXgGXAHm4CoCmCtYAHqXRWBGWB/F2Z5UnaAxZFO" +
"aJ2DuTpzHCOQ5gwcg8veDBjlCaA0mGBg6BYapcEONZiHYHADg4MoKE+U4QkEIINAISAig4Y44moPIPA4EpoHSBoOngNgyDiW5jCGShCF+VouA2EQNhKHBMg+Y5pFYPYV" +
"mOQxYiAD4kEgNZRHSTokCWax4A4KA2DaDglGkUhYhoZRph4DYZB6NAllEbwOmgKhEhqJ4JjIa4ek8c48mGAoflcAQJhITxaBYCoHEuGZmHuIooioIgKgWJIUCWXh4hkN" +
"hImkM4JloMh6iaJRzhySAkCkVhFhUd4QhMJomD0KtvBCCJMGocouh6KIKiifoKlodAmAAOgrgYVoVD7Y5AlMJhDAqPoLh6D4DkCYosicSoYkkQhcmMapOD6LQKkqHgkC" +
"wKhwmILpHFqSJ7jaTZbHYBw1lCFwwnEcAqgOUoUGSa5DxkLQGHsVhWhQRJKkmFYkBuaI1lgdBtlMdZKi6LoKnSZQwggOp+kGJpjiufIDiyGQXCiYZCmyJxeAQYQi0YYI" +
"+lieoqmmKwpHIdoskIGQGFWSg8DIBx6GCQ4AAYXhHjlo5fCqNpPjYRJ/kucwMkcMpM9GMwqk2Tx3AGa4AnIVpkm2N5cAgcJvk2XIsjGeYlF53hKk2dAnEGJR7nCdxlgY" +
"c4ajmEplk4NYNGcWpKiYRx5k4dYhC0RxggsTpXAGQA3jaBoEmuUIuFuCo4DoNoDHqShwCKXYPCSXYzmOMx6lwOwZoawrgkE0HwBY1xegdE2MMWQhBOhoEUBIQAgCAgA=" +
"=");
spTreeCube1->PutBackground(EXTREECUBELib::exRadioButtonState0,0x3000000);
spTreeCube1->PutBackground(EXTREECUBELib::exRadioButtonState1,0x4000000);
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetRightFace();
	var_Face->PutRelativeMargins(L"0,32,0,0");
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceCaption,"<c><font ;18>Table mode");
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceBackgroundExt,"bottom[2],bottom[4,back=RGB(0,0,0)]");
	EXTREECUBELib::IFaceTreePtr var_FaceTree = var_Face->CreateTree();
		var_FaceTree->PutHasLines(EXTREECUBELib::exNoLine);
		var_FaceTree->PutDrawGridLines(EXTREECUBELib::exNoLines);
		var_FaceTree->PutItemPadding(24);
		var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
		var_FaceTree->PutShowSelection(VARIANT_FALSE);
		var_FaceTree->GetColumns()->Add(L"Default")->PutAlignment(EXTREECUBELib::LeftAlignment);
		EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
			EXTREECUBELib::IItemPtr var_Item = var_Items->Add("Make windows more touch-friendly when using your device as a table");
				var_Item->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item1 = var_Item->GetItems()->Add("");
					var_Item1->PutHeight(24);
					var_Item1->PutHasCheckBox(long(0),VARIANT_TRUE);
					var_Item1->PutState(long(0),0);
					var_Item1->PutFormatCell(long(0),L"state = 0 ? `Off` : `On`");
				var_Item->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item2 = var_Items->Add("When I sign in");
				var_Item2->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item3 = var_Item2->GetItems()->Add("Automatically swicth to table mode");
					var_Item3->PutHeight(24);
					var_Item3->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item3->PutRadioGroup(long(0),1234);
				EXTREECUBELib::IItemPtr var_Item4 = var_Item2->GetItems()->Add("Go to the desktop");
					var_Item4->PutHeight(24);
					var_Item4->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item4->PutRadioGroup(long(0),1234);
				EXTREECUBELib::IItemPtr var_Item5 = var_Item2->GetItems()->Add("Remember what I used last");
					var_Item5->PutHeight(24);
					var_Item5->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item5->PutRadioGroup(long(0),1234);
					var_Item5->PutState(long(0),1);
				var_Item2->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item6 = var_Items->Add("When this device automatically switches table mode on or off");
				var_Item6->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item7 = var_Item6->GetItems()->Add("Don't ask me and dont' switch");
					var_Item7->PutHeight(24);
					var_Item7->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item7->PutRadioGroup(long(0),1235);
				EXTREECUBELib::IItemPtr var_Item8 = var_Item6->GetItems()->Add("Always ask me before switching");
					var_Item8->PutHeight(24);
					var_Item8->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item8->PutRadioGroup(long(0),1235);
					var_Item8->PutState(long(0),1);
				EXTREECUBELib::IItemPtr var_Item9 = var_Item6->GetItems()->Add("Don't ask me and always' switch");
					var_Item9->PutHeight(24);
					var_Item9->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item9->PutRadioGroup(long(0),1235);
				var_Item6->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item10 = var_Items->Add("Hide app icons on the taskbar in table mode");
				var_Item10->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item11 = var_Item10->GetItems()->Add("");
					var_Item11->PutHeight(24);
					var_Item11->PutHasCheckBox(long(0),VARIANT_TRUE);
					var_Item11->PutState(long(0),0);
					var_Item11->PutFormatCell(long(0),L"state = 0 ? `Off` : `On`");
				var_Item10->PutExpanded(VARIANT_TRUE);
spTreeCube1->PutEnsureVisibleFaceMargin(0);
spTreeCube1->EnsureVisibleFace(EXTREECUBELib::exRightFace,vtMissing);
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::exFitToEnsureFace);
spTreeCube1->EndUpdate();

89
How can I display more group of radio-buttons

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetLeftFace();
	var_Face->PutRelativeMargins(L"0,32,0,0");
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceCaption,"<c><font ;18>Multitasking");
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceBackgroundExt,"bottom[2],bottom[4,back=RGB(0,0,0)]");
	EXTREECUBELib::IFaceTreePtr var_FaceTree = var_Face->CreateTree();
		var_FaceTree->PutHasLines(EXTREECUBELib::exNoLine);
		var_FaceTree->PutDrawGridLines(EXTREECUBELib::exNoLines);
		var_FaceTree->PutItemPadding(24);
		var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
		var_FaceTree->PutShowSelection(VARIANT_FALSE);
		var_FaceTree->GetColumns()->Add(L"Default")->PutAlignment(EXTREECUBELib::LeftAlignment);
		EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
			EXTREECUBELib::IItemPtr var_Item = var_Items->Add("Snap");
				var_Item->PutDivider(0);
				var_Item->PutBold(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item1 = var_Items->Add("Arrange windows automatically by dragging them to the sides of corners of the scree");
				var_Item1->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item2 = var_Item1->GetItems()->Add("");
					var_Item2->PutHeight(24);
					var_Item2->PutHasCheckBox(long(0),VARIANT_TRUE);
					var_Item2->PutState(long(0),1);
					var_Item2->PutFormatCell(long(0),L"state = 0 ? `Off` : `On`");
				var_Item1->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item3 = var_Items->Add("When I snap more than one window, automatically adjust the size of the windows");
				var_Item3->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item4 = var_Item3->GetItems()->Add("");
					var_Item4->PutHeight(24);
					var_Item4->PutHasCheckBox(long(0),VARIANT_TRUE);
					var_Item4->PutState(long(0),1);
					var_Item4->PutFormatCell(long(0),L"state = 0 ? `Off` : `On`");
				var_Item3->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item5 = var_Items->Add("When I snap a window, show what I can snap next to it");
				var_Item5->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item6 = var_Item5->GetItems()->Add("");
					var_Item6->PutHeight(24);
					var_Item6->PutHasCheckBox(long(0),VARIANT_TRUE);
					var_Item6->PutFormatCell(long(0),L"state = 0 ? `Off` : `On`");
				var_Item5->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item7 = var_Items->Add("Virtual desktops");
				var_Item7->PutDivider(0);
				var_Item7->PutBold(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item8 = var_Items->Add("On the taskbar, show windows that are open on:");
				var_Item8->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item9 = var_Item8->GetItems()->Add("Only the desktop I'm using");
					var_Item9->PutHeight(24);
					var_Item9->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item9->PutRadioGroup(long(0),1234);
					var_Item9->PutState(long(0),1);
				EXTREECUBELib::IItemPtr var_Item10 = var_Item8->GetItems()->Add("All desktops");
					var_Item10->PutHeight(24);
					var_Item10->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item10->PutRadioGroup(long(0),1234);
				var_Item8->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item11 = var_Items->Add("Pressing ALT+TAB, show windows that are open on:");
				var_Item11->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item12 = var_Item11->GetItems()->Add("Only the desktop I'm using");
					var_Item12->PutHeight(24);
					var_Item12->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item12->PutRadioGroup(long(0),1235);
					var_Item12->PutState(long(0),1);
				EXTREECUBELib::IItemPtr var_Item13 = var_Item11->GetItems()->Add("All desktops");
					var_Item13->PutHeight(24);
					var_Item13->PutHasRadioButton(long(0),VARIANT_TRUE);
					var_Item13->PutRadioGroup(long(0),1235);
				var_Item11->PutExpanded(VARIANT_TRUE);
spTreeCube1->PutEnsureVisibleFaceMargin(0);
spTreeCube1->EnsureVisibleFace(EXTREECUBELib::exLeftFace,vtMissing);
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::exFitToEnsureFace);
spTreeCube1->EndUpdate();

88
How can I use images with the control

// FaceTreeButtonClick event - Notifies that a cell of button's type has been clicked.
void OnFaceTreeButtonClickTreeCube1(LPDISPATCH   Tree,long   Item,long   Column)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( L"FaceTreeButtonClick" );
}

// FaceTreeStateChanged event - Notifies that a cell changes its state into a face of tree type.
void OnFaceTreeStateChangedTreeCube1(LPDISPATCH   Tree,long   Item,long   Column)
{
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( L"FaceTreeStateChanged" );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutHTMLPicture(L"P1","c:\\exontrol\\images\\zipdisk.gif");
spTreeCube1->PutHTMLPicture(L"P2","c:\\exontrol\\images\\auction.gif");
spTreeCube1->PutHTMLPicture(L"P3","c:\\exontrol\\images\\colorize.gif");
spTreeCube1->PutHTMLPicture(L"P4","c:\\exontrol\\images\\auction.gif");
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutRelativeMargins(L"0,32,0,0");
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceCaption,"<c><font ;18>Notifications");
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceBackgroundExt,"bottom[2],bottom[4,back=RGB(0,0,0)]");
	EXTREECUBELib::IFaceTreePtr var_FaceTree = var_Face->CreateTree();
		var_FaceTree->PutHasLines(EXTREECUBELib::exNoLine);
		var_FaceTree->PutDrawGridLines(EXTREECUBELib::exNoLines);
		var_FaceTree->PutItemPadding(24);
		var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
		var_FaceTree->PutShowSelection(VARIANT_FALSE);
		var_FaceTree->GetColumns()->Add(L"Default")->PutAlignment(EXTREECUBELib::LeftAlignment);
		EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
			EXTREECUBELib::IItemPtr var_Item = var_Items->Add("Choose your quick actions");
				var_Item->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item1 = var_Item->GetItems()->Add("");
					var_Item1->PutHeight(48);
					_bstr_t s = 0;
					var_Item1->PutValue(s,"<c><img>P1</img>");
					var_Item1->PutCellWidth(s,48);
					var_Item1->PutHasButton(s,VARIANT_TRUE);
					s = var_Item1->GetSplitCell(s);
					var_Item1->PutValue(s,"<c><img>P2</img>");
					var_Item1->PutCellWidth(s,48);
					var_Item1->PutHasButton(s,VARIANT_TRUE);
					s = var_Item1->GetSplitCell(s);
					var_Item1->PutValue(s,"<c><img>P3</img>");
					var_Item1->PutCellWidth(s,48);
					var_Item1->PutHasButton(s,VARIANT_TRUE);
					s = var_Item1->GetSplitCell(s);
					var_Item1->PutValue(s,"<c><img>P4</img>");
					var_Item1->PutCellWidth(s,48);
					var_Item1->PutHasButton(s,VARIANT_TRUE);
					s = var_Item1->GetSplitCell(s);
				var_Item->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item2 = var_Items->Add("Show me tips about Windows");
				var_Item2->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item3 = var_Item2->GetItems()->Add("");
					var_Item3->PutHeight(24);
					var_Item3->PutHasCheckBox(long(0),VARIANT_TRUE);
					var_Item3->PutState(long(0),1);
					var_Item3->PutFormatCell(long(0),L"state = 0 ? `Off` : `On`");
				var_Item2->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item4 = var_Items->Add("Show app notifications	");
				var_Item4->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item5 = var_Item4->GetItems()->Add("");
					var_Item5->PutHeight(24);
					var_Item5->PutHasCheckBox(long(0),VARIANT_TRUE);
					var_Item5->PutState(long(0),1);
					var_Item5->PutFormatCell(long(0),L"state = 0 ? `Off` : `On`");
				var_Item4->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item6 = var_Items->Add("Show notifications on lock screen");
				var_Item6->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item7 = var_Item6->GetItems()->Add("");
					var_Item7->PutHeight(24);
					var_Item7->PutHasCheckBox(long(0),VARIANT_TRUE);
					var_Item7->PutFormatCell(long(0),L"state = 0 ? `Off` : `On`");
				var_Item6->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item8 = var_Items->Add("Show alarms, reminders and incomming VOIP calls on the lock screen");
				var_Item8->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item9 = var_Item8->GetItems()->Add("");
					var_Item9->PutHeight(24);
					var_Item9->PutHasCheckBox(long(0),VARIANT_TRUE);
					var_Item9->PutState(long(0),1);
					var_Item9->PutFormatCell(long(0),L"state = 0 ? `Off` : `On`");
				var_Item8->PutExpanded(VARIANT_TRUE);
			EXTREECUBELib::IItemPtr var_Item10 = var_Items->Add("Hide notications while presentation");
				var_Item10->PutSingleLine(long(0),VARIANT_FALSE);
				EXTREECUBELib::IItemPtr var_Item11 = var_Item10->GetItems()->Add("");
					var_Item11->PutHeight(24);
					var_Item11->PutHasCheckBox(long(0),VARIANT_TRUE);
					var_Item11->PutState(long(0),0);
					var_Item11->PutFormatCell(long(0),L"state = 0 ? `Off` : `On`");
				var_Item10->PutExpanded(VARIANT_TRUE);
spTreeCube1->PutEnsureVisibleFaceMargin(0);
spTreeCube1->EnsureVisibleFace(EXTREECUBELib::exFrontFace,vtMissing);
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::exFitToEnsureFace);
spTreeCube1->EndUpdate();

87
How do I display a progress bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutItemPadding(16);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"Pos");
		var_Column->PutFormatColumn(L"1 pos ``");
		var_Column->PutWidth(8);
	var_FaceTree->GetColumns()->Add(L"Progress")->PutAlignment(EXTREECUBELib::LeftAlignment);
	EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
		EXTREECUBELib::IItemPtr var_Item = var_Items->Add("");
			var_Item->PutBackgroundExt(long(1),L"none[(2,2,100%-4,100%-4)](top[24,text=`10%`],bottom[6,back=RGB(204,204,204)](left[10%,back=RGB(0,120,215)]))");
			var_Item->PutBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt,"25%");
			var_Item->PutBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExt,var_Item->GetBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt));
		EXTREECUBELib::IItemPtr var_Item1 = var_Items->Add("");
			var_Item1->PutBackgroundExt(long(1),L"none[(2,2,100%-4,100%-4)](top[24,text=`10%`],bottom[6,back=RGB(204,204,204)](left[10%,back=RGB(0,120,215)]))");
			var_Item1->PutBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt,"15%");
			var_Item1->PutBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExt,var_Item1->GetBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt));
			var_Item1->PutBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exBackColorExt,long(65280));
		EXTREECUBELib::IItemPtr var_Item2 = var_Items->Add("");
			var_Item2->PutBackgroundExt(long(1),L"none[(2,2,100%-4,100%-4)](top[24,text=`10%`],bottom[6,back=RGB(204,204,204)](left[10%,back=RGB(0,120,215)]))");
			var_Item2->PutBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt,"75%");
			var_Item2->PutBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExt,var_Item2->GetBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt));
		EXTREECUBELib::IItemPtr var_Item3 = var_Items->Add("");
			var_Item3->PutBackgroundExt(long(1),L"none[(2,2,100%-4,100%-4)](top[24,text=`10%`],bottom[6,back=RGB(204,204,204)](left[10%,back=RGB(0,120,215)]))");
			var_Item3->PutBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt,"85%");
			var_Item3->PutBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExt,var_Item3->GetBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt));
		EXTREECUBELib::IItemPtr var_Item4 = var_Items->Add("");
			var_Item4->PutBackgroundExt(long(1),L"none[(2,2,100%-4,100%-4)](top[24,text=`10%`],bottom[6,back=RGB(204,204,204)](left[10%,back=RGB(0,120,215)]))");
			var_Item4->PutBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt,"5%");
			var_Item4->PutBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt2,EXTREECUBELib::exTextExt,var_Item4->GetBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exClientExt));
			var_Item4->PutBackgroundExtValue(long(1),EXTREECUBELib::exIndexExt4,EXTREECUBELib::exBackColorExt,long(255));

86
I have a column of check box type, the question if I can automatically display on/off when user changes the check's state

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutCheckBoxWidth(32);
spTreeCube1->PutCheckBoxHeight(29);
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABQACg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5B") +
"iKAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpf" +
"baKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZ" +
"OkoNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonefApC2BQglWHIKAAPx/D4FoyHgTZsAIXwYAWYR8kMR5YAAP4PmOdZ7H8X54AoDhziASAaAiAoeAecZ+CQ" +
"IAID4GhwGEF5eBOAphHgZgbgiWQYHYB4CGICA2CSCpPnMYIjgEYZoiIFYDCGCIyCsNgKCCRgSgyHZ4FoKoNiGOJgDKDphEidg0giJEnDiDojBkFZXg+IxZCYGoLgMOQS" +
"CmFBlCgOJZCmA4jDiCYJmSZw6FCEglheRhbA4ZZpgIV4ZCYV4+GeGhhniTghhsYAps+HBkGmTh0hmChpiId4PCSeQeHuHwnmmKhyg+aA3gYdohh2cxUhwCJNBIRZuiIX" +
"oDGiJwOkyWR9nkPwoiKFA2G2YBznaHIlB0cxGBiAYfAONJUCgIBmlAFg6k0AhaioJ5OkMTIdi0axzEyHmEBIYJpDMCJanyDowiwQwyq0LBbB6Sowg6KwYmoMxI26GwIB" +
"wU4Mj0GpgCOCI6BmG4mmYX4mG2a4GmCOAmhuFhfjmAALiKao5m6S4ml8bpNmKQBQgkFpzjSbg1koc44lYKQviKFp9j+TRrnsAZADALAXASQZwDwJp8xQc4uiSQ5xAwRw" +
"SkSYhDi0ERCFAECAg");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAADhABZ8MACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5B") +
"iKAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpf" +
"baKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZ" +
"OkoNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonePwfA6fx7n2MIkBqM4REAB5vnOQpWCeAhnjACR9B4IoEC0OQMAGSZ0H2AxHmQAA/g+Y51n6AAgCgEZLDa" +
"ChgmCUQkACAw8g4AJgjKEgNH6IQIEmYB/mAEhCAOBYZDMZIlA2TQSEQCheAGiwKDmTBiAWYYDCCaIWBOChijiMJ/DYXx4loNINBsQBdkWDpiCidgRg+YRYFoRANCMEAu" +
"EcXhlHiVISAMTgSlwXh1mOSISE+CZhEiKgLCiQw5FYWYaleFpQBiA4PhOSJhHMJgYD4Yx3mKn5fDYCgwkiUQkiUaRigIYhoEkZZUASTRiHAIodCSWYKCaHgmFkBh0CiA" +
"wZn6AYhGaUhcBiEhmkoEJQCOQBTiiTQjlwGZwDOE4oncXh5hmHIzGCIgMCkah0lMJYBFeMAHiyQRqmKMomiCY5wnoPUzFyuIMmIJh2ioXJqi6Ehkg0coEC6H7zHSUgkk" +
"CaxA42ToDmydw7GCahygODQNCIVASgoGQ7GyWAyEeaA9n2GQkAsBgGjQKBqGmwxNiKHA7HATxjiSTgzGwaY6h2J5AGOiwfFkM4UkEHQPiWQhQisD5zFyHwKimcAWgZhp" +
"rBQAA6AyAgVleHILlucAAj+KA5joDhjg0VhOBEPpwjkBgQD+H5wh2bACBmYBBlwAQPGOKJRH0DwTHiNpHjICgSjiLYkCUGrzk4ApUFoNRJjCBxBGQTwjgCOpPBsWRnDG" +
"K4DAiMxDlKXp3ECRpFiuKgOh8AZODKcBqH0NR9GGdA+A6YxplMdRlHmPY4DsTRig2YXfECDg2lmJAjnCeQ8meOANwYwSBXEsDUeQZxdDxDgGwbY3QjjmHiKUcIwQnBfG" +
"ADYZowR7B6E6E4MI2g1AUAsOkFwCwOhmECC0ZYkxzhhFME4egXQThHGkPUDoPwqtkE6E8LQaQJiHDiK4KYaBCiwFwOkaYVROhqXoIcdw9BzAcCKNAZg3Qbg2BsD0cY+B" +
"vBPEWOUfIHgziVHMOMYwWQEAACGAEZYgg7gaGKCUXQ6hoD7F2JwW5txIhPHYBQTwwQljzD6AYW4zx6h9B+F8bo9h/AfDONUZwkhziJF8FwHALBaCTAwIEG4CASDfC4Fw" +
"AIRRHuhBAOUUwAxoAQH6C0eACgDAeAMGoGgGREDPAiKAAIVwBgYA2AUZ4QgEAOEGMANwCwIjWCIEgJIASAg==");
	var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAADhABT0MACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5B") +
"iKAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpf" +
"baKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZ" +
"OkoNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonePR+D6d57GESA1GcIoAA+X5fgW2oJh6QAlnMdZHlgFIogGXw3lQNB+AAA54n4PxflefgBgCXIyBIFgZmG" +
"AYOBqAhKEgLZ5gOIQHgGfoAAkCAKBQZJIDiJBogqRwYjYGAZksGJFmGAogkiAgRgkIhohyfwgiOSIsGiCxkAGRBwhCRgZBYM4HGMWA+DeBJhEIBhOg+JAZEYQAaGUQhy" +
"FYdZjEgfhKgiIQohWc4TggGRCFKGJkCkDBehmTpJiWTIWGCWRtl+CJkkcfIAhyZgphIdoLEaWZkHeHpmjkIhaggZp5HYORzCcMgCHWFIkDGQBviKZx4jQZIjkuKhFkEN" +
"gKDCThJiAHR5kIXhykeeh2geFBGmqBBmiiaI6hQb4diiGYcF4PgqkYTJXCgApDDiCYbGmBw6hqIJZCGeo6hUBoZlgaovmOY5CkIPQsEqKoJh2J4RjQeYylkM5cm0NgMh" +
"GegNH8JZImGE4BEeWpygiEJhiGDIGjeXATgaYgXG4SweGQGRugKOpqGSThTAQdA+hcCQuhsP5HjuVoPBkJQqhaZAXEsO52hkNYNGEcwCjmJAaCaew5HCBhOA8PpvJQDg" +
"/iyMZmiMGYGv4dw4jGB5MlKRpwCEcwEhAKhcE4OhRisdwEhmSZHGyJwjGQTRMjcHZHmKXBUGuJxHniHwlkqXpzG8Oo+moWRKmgGRKC0BZzk2c/FmiUZkFGBohBuJQhH8" +
"TgxjUB4ElUJwCDMRIRHuNBYhyd5WmuTJKECQYuEuCJhHWTYShQNhtm0M5zFmSpvFGbgvkgKI9DgXw8jcRwwm0GoCgEAxhoAWB0MwgQWi7EmOcMIpgnDwC4CcA4wh4gcB" +
"+BUYYcROBPA0GkCYhw4iuCmDgEg1wWAwDmBQJwlw9ifD4OsTAcQLhDBmHQbg1gzBvCWNMegnQnhNGqHUDoXwujWHqAYLICAAAbCKDAOQ4BMD9GaFUUo2QYjzFcLcTovB" +
"IhODuBoYoJxEBSHwP4JIrRyB5D8FcTI5x8jeEeJsco7xSC5HEG8S4DgEjnHaNQWIfRJheDaH8BgTgoB8EqFYMoFxPg/CeMUeovAMDBGKJkBgXxGgLHsH4R4QQpj7EyP8" +
"ZI1hEChBQAggI");
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState0,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState1,0x2000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState2,0x3000000);
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutHasLines(EXTREECUBELib::exThinLine);
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(16);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Partial Check");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column->PutFormatColumn(L"`Check <b>` + 1 rpos `` + '</b> ' + (state=0 ? `<off 4>(off)` : (state=1 ? `<off 4>(on)` : ``))");
		var_Column->PutPartialCheck(VARIANT_TRUE);
	var_FaceTree->GetItems()->PutCount(spTreeCube1->GetFrontFace()->GetFaceTree()->GetVisibleItemsCount());
	EXTREECUBELib::IItemPtr var_Item = var_FaceTree->GetItemByIndex(1);
		var_Item->GetItems()->PutCount(3);
		var_Item->PutExpanded(VARIANT_TRUE);
		var_Item->PutState(long(0),1);
	EXTREECUBELib::IItemPtr var_Item1 = var_FaceTree->GetItemByIndex(2);
		var_Item1->GetItems()->PutCount(3);
		var_Item1->PutExpanded(VARIANT_TRUE);
		var_Item1->GetItems()->GetItem(long(1))->PutState(long(0),1);
spTreeCube1->EndUpdate();

85
How do I print the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = spTreeCube1->GetFrontFace()->CreateCalendar();
	var_FaceCalendar->PutAutoSize(EXTREECUBELib::exFitClient);
	var_FaceCalendar->PutMaxMonthX(1);
	var_FaceCalendar->PutMaxMonthY(1);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXPRINTLib' for the library: 'ExPrint 1.0 Control Library'

	#import <ExPrint.dll>
	using namespace EXPRINTLib;
*/
EXPRINTLib::IExPrintPtr var_Print = ::CreateObject(L"Exontrol.Print");
	var_Print->PutPrintExt(((EXTREECUBELib::ITreeCubePtr)(spTreeCube1)));
	var_Print->Preview();

84
How can I get the caption from the point

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveTreeCube1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( spTreeCube1->GetFrontFace()->GetFaceTree()->GetCaptionFromPoint(-1,-1) );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"C:\\Program Files\\Exontrol\\ExTreeCube\\Sample\\Texture\\Chapel");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutItemPadding(16);
	var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
	var_FaceTree->PutForeColor(RGB(255,255,255));
	var_FaceTree->GetItems()->PutToString(_bstr_t("<sha \\;\\;0><font \\;18>Place <b>A,<sha \\;\\;0><font \\;18>Place <b>B,<sha \\;\\;0><font \\;18>Place <b>C,<sha \\;\\;0><font ") +
"\\;18>Place <b>D,<sha \\;\\;0><font \\;18>Place <b>E");

83
How can I get the value from the point

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveTreeCube1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spTreeCube1->GetFrontFace()->GetFaceTree()->GetValueFromPoint(-1,-1)) );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"C:\\Program Files\\Exontrol\\ExTreeCube\\Sample\\Texture\\Chapel");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutItemPadding(16);
	var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
	var_FaceTree->PutForeColor(RGB(255,255,255));
	var_FaceTree->GetItems()->PutToString(_bstr_t("<sha \\;\\;0><font \\;18>Place <b>A,<sha \\;\\;0><font \\;18>Place <b>B,<sha \\;\\;0><font \\;18>Place <b>C,<sha \\;\\;0><font ") +
"\\;18>Place <b>D,<sha \\;\\;0><font \\;18>Place <b>E");

82
How can I get the column from the point
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveTreeCube1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spTreeCube1->GetFrontFace()->GetFaceTree()->GetColumnFromPoint(-1,-1)) );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutFullRowSelect(VARIANT_TRUE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->GetColumns()->Add(L"A")->PutFormatColumn(L"0 pos `A-Z`");
	var_FaceTree->GetColumns()->Add(L"B")->PutFormatColumn(L"0 pos `B-Z`");
	var_FaceTree->GetColumns()->Add(L"C")->PutFormatColumn(L"0 pos `C-Z`");
	var_FaceTree->GetColumns()->Add(L"D")->PutFormatColumn(L"0 pos `D-Z`");
	var_FaceTree->GetItems()->PutCount(4);

81
How can I get the item from the point
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveTreeCube1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spTreeCube1->GetFrontFace()->GetFaceTree()->GetItemFromPoint(-1,-1)) );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutFullRowSelect(VARIANT_TRUE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->GetColumns()->Add(L"A")->PutFormatColumn(L"0 pos `A-Z`");
	var_FaceTree->GetColumns()->Add(L"B")->PutFormatColumn(L"0 pos `B-Z`");
	var_FaceTree->GetColumns()->Add(L"C")->PutFormatColumn(L"0 pos `C-Z`");
	var_FaceTree->GetColumns()->Add(L"D")->PutFormatColumn(L"0 pos `D-Z`");
	var_FaceTree->GetItems()->PutCount(4);

80
How can I get the value from the point (calendar's date)
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveTreeCube1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( L"Date:" );
	OutputDebugStringW( _bstr_t(spTreeCube1->GetFrontFace()->GetFaceCalendar()->GetValueFromPoint(-1,-1)) );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = spTreeCube1->GetFrontFace()->CreateCalendar();
	var_FaceCalendar->PutAutoSize(EXTREECUBELib::exFitClient);
	var_FaceCalendar->PutMaxMonthX(1);
	var_FaceCalendar->PutMaxMonthY(1);

79
How can I get the date from the point (calendar's date)
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveTreeCube1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( L"Date:" );
	OutputDebugStringW( _bstr_t(spTreeCube1->GetFrontFace()->GetFaceCalendar()->GetDateFromPoint(-1,-1)) );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = spTreeCube1->GetFrontFace()->CreateCalendar();
	var_FaceCalendar->PutAutoSize(EXTREECUBELib::exFitClient);
	var_FaceCalendar->PutMaxMonthX(1);
	var_FaceCalendar->PutMaxMonthY(1);

78
How can I get the face from the point

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveTreeCube1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( L"Face:" );
	OutputDebugStringW( _bstr_t(spTreeCube1->GetFaceFromPoint(-1,-1)) );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutIdentifyFace(EXTREECUBELib::exIdentifyFaceCaption);

77
Does your control support partial-check feature

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutCheckBoxWidth(32);
spTreeCube1->PutCheckBoxHeight(29);
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABQACg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5B") +
"iKAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpf" +
"baKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZ" +
"OkoNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonefApC2BQglWHIKAAPx/D4FoyHgTZsAIXwYAWYR8kMR5YAAP4PmOdZ7H8X54AoDhziASAaAiAoeAecZ+CQ" +
"IAID4GhwGEF5eBOAphHgZgbgiWQYHYB4CGICA2CSCpPnMYIjgEYZoiIFYDCGCIyCsNgKCCRgSgyHZ4FoKoNiGOJgDKDphEidg0giJEnDiDojBkFZXg+IxZCYGoLgMOQS" +
"CmFBlCgOJZCmA4jDiCYJmSZw6FCEglheRhbA4ZZpgIV4ZCYV4+GeGhhniTghhsYAps+HBkGmTh0hmChpiId4PCSeQeHuHwnmmKhyg+aA3gYdohh2cxUhwCJNBIRZuiIX" +
"oDGiJwOkyWR9nkPwoiKFA2G2YBznaHIlB0cxGBiAYfAONJUCgIBmlAFg6k0AhaioJ5OkMTIdi0axzEyHmEBIYJpDMCJanyDowiwQwyq0LBbB6Sowg6KwYmoMxI26GwIB" +
"wU4Mj0GpgCOCI6BmG4mmYX4mG2a4GmCOAmhuFhfjmAALiKao5m6S4ml8bpNmKQBQgkFpzjSbg1koc44lYKQviKFp9j+TRrnsAZADALAXASQZwDwJp8xQc4uiSQ5xAwRw" +
"SkSYhDi0ERCFAECAg");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAADhABZ8MACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5B") +
"iKAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpf" +
"baKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZ" +
"OkoNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonePwfA6fx7n2MIkBqM4REAB5vnOQpWCeAhnjACR9B4IoEC0OQMAGSZ0H2AxHmQAA/g+Y51n6AAgCgEZLDa" +
"ChgmCUQkACAw8g4AJgjKEgNH6IQIEmYB/mAEhCAOBYZDMZIlA2TQSEQCheAGiwKDmTBiAWYYDCCaIWBOChijiMJ/DYXx4loNINBsQBdkWDpiCidgRg+YRYFoRANCMEAu" +
"EcXhlHiVISAMTgSlwXh1mOSISE+CZhEiKgLCiQw5FYWYaleFpQBiA4PhOSJhHMJgYD4Yx3mKn5fDYCgwkiUQkiUaRigIYhoEkZZUASTRiHAIodCSWYKCaHgmFkBh0CiA" +
"wZn6AYhGaUhcBiEhmkoEJQCOQBTiiTQjlwGZwDOE4oncXh5hmHIzGCIgMCkah0lMJYBFeMAHiyQRqmKMomiCY5wnoPUzFyuIMmIJh2ioXJqi6Ehkg0coEC6H7zHSUgkk" +
"CaxA42ToDmydw7GCahygODQNCIVASgoGQ7GyWAyEeaA9n2GQkAsBgGjQKBqGmwxNiKHA7HATxjiSTgzGwaY6h2J5AGOiwfFkM4UkEHQPiWQhQisD5zFyHwKimcAWgZhp" +
"rBQAA6AyAgVleHILlucAAj+KA5joDhjg0VhOBEPpwjkBgQD+H5wh2bACBmYBBlwAQPGOKJRH0DwTHiNpHjICgSjiLYkCUGrzk4ApUFoNRJjCBxBGQTwjgCOpPBsWRnDG" +
"K4DAiMxDlKXp3ECRpFiuKgOh8AZODKcBqH0NR9GGdA+A6YxplMdRlHmPY4DsTRig2YXfECDg2lmJAjnCeQ8meOANwYwSBXEsDUeQZxdDxDgGwbY3QjjmHiKUcIwQnBfG" +
"ADYZowR7B6E6E4MI2g1AUAsOkFwCwOhmECC0ZYkxzhhFME4egXQThHGkPUDoPwqtkE6E8LQaQJiHDiK4KYaBCiwFwOkaYVROhqXoIcdw9BzAcCKNAZg3Qbg2BsD0cY+B" +
"vBPEWOUfIHgziVHMOMYwWQEAACGAEZYgg7gaGKCUXQ6hoD7F2JwW5txIhPHYBQTwwQljzD6AYW4zx6h9B+F8bo9h/AfDONUZwkhziJF8FwHALBaCTAwIEG4CASDfC4Fw" +
"AIRRHuhBAOUUwAxoAQH6C0eACgDAeAMGoGgGREDPAiKAAIVwBgYA2AUZ4QgEAOEGMANwCwIjWCIEgJIASAg==");
	var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAADhABT0MACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5B") +
"iKAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpf" +
"baKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZ" +
"OkoNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonePR+D6d57GESA1GcIoAA+X5fgW2oJh6QAlnMdZHlgFIogGXw3lQNB+AAA54n4PxflefgBgCXIyBIFgZmG" +
"AYOBqAhKEgLZ5gOIQHgGfoAAkCAKBQZJIDiJBogqRwYjYGAZksGJFmGAogkiAgRgkIhohyfwgiOSIsGiCxkAGRBwhCRgZBYM4HGMWA+DeBJhEIBhOg+JAZEYQAaGUQhy" +
"FYdZjEgfhKgiIQohWc4TggGRCFKGJkCkDBehmTpJiWTIWGCWRtl+CJkkcfIAhyZgphIdoLEaWZkHeHpmjkIhaggZp5HYORzCcMgCHWFIkDGQBviKZx4jQZIjkuKhFkEN" +
"gKDCThJiAHR5kIXhykeeh2geFBGmqBBmiiaI6hQb4diiGYcF4PgqkYTJXCgApDDiCYbGmBw6hqIJZCGeo6hUBoZlgaovmOY5CkIPQsEqKoJh2J4RjQeYylkM5cm0NgMh" +
"GegNH8JZImGE4BEeWpygiEJhiGDIGjeXATgaYgXG4SweGQGRugKOpqGSThTAQdA+hcCQuhsP5HjuVoPBkJQqhaZAXEsO52hkNYNGEcwCjmJAaCaew5HCBhOA8PpvJQDg" +
"/iyMZmiMGYGv4dw4jGB5MlKRpwCEcwEhAKhcE4OhRisdwEhmSZHGyJwjGQTRMjcHZHmKXBUGuJxHniHwlkqXpzG8Oo+moWRKmgGRKC0BZzk2c/FmiUZkFGBohBuJQhH8" +
"TgxjUB4ElUJwCDMRIRHuNBYhyd5WmuTJKECQYuEuCJhHWTYShQNhtm0M5zFmSpvFGbgvkgKI9DgXw8jcRwwm0GoCgEAxhoAWB0MwgQWi7EmOcMIpgnDwC4CcA4wh4gcB" +
"+BUYYcROBPA0GkCYhw4iuCmDgEg1wWAwDmBQJwlw9ifD4OsTAcQLhDBmHQbg1gzBvCWNMegnQnhNGqHUDoXwujWHqAYLICAAAbCKDAOQ4BMD9GaFUUo2QYjzFcLcTovB" +
"IhODuBoYoJxEBSHwP4JIrRyB5D8FcTI5x8jeEeJsco7xSC5HEG8S4DgEjnHaNQWIfRJheDaH8BgTgoB8EqFYMoFxPg/CeMUeovAMDBGKJkBgXxGgLHsH4R4QQpj7EyP8" +
"ZI1hEChBQAggI");
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState0,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState1,0x2000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState2,0x3000000);
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutHasLines(EXTREECUBELib::exThinLine);
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(16);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Partial Check");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column->PutFormatColumn(L"`Check <b>` + 1 rpos ``");
		var_Column->PutPartialCheck(VARIANT_TRUE);
	var_FaceTree->GetItems()->PutCount(spTreeCube1->GetFrontFace()->GetFaceTree()->GetVisibleItemsCount());
	EXTREECUBELib::IItemPtr var_Item = var_FaceTree->GetItemByIndex(1);
		var_Item->GetItems()->PutCount(3);
		var_Item->PutExpanded(VARIANT_TRUE);
		var_Item->PutState(long(0),1);
	EXTREECUBELib::IItemPtr var_Item1 = var_FaceTree->GetItemByIndex(2);
		var_Item1->GetItems()->PutCount(3);
		var_Item1->PutExpanded(VARIANT_TRUE);
		var_Item1->GetItems()->GetItem(long(1))->PutState(long(0),1);
spTreeCube1->EndUpdate();

76
I am using the Items.ToString, just wondering if I can use it for multiple columns

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exNoLines);
	var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
	var_FaceTree->GetColumns()->PutCount(4);
	var_FaceTree->GetItems()->PutToString(L"1;2;3;4,5;6;7;8,9;10;11;12,13;14;15;16,17;18;29;20,21;22;23;24,25;26;27;28,29;30;31;32");

75
How can I show the item on multiple-lines

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(12);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Items");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellSingleLine,VARIANT_FALSE);
	EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
		var_Items->Add("Short");
		var_Items->Add(_bstr_t("The eXTreeCube library provides fish-eye representation / cube map texturing of different components such as calendar, multiple") +
" - columns tree view and so on. Cube map texturing is a form of environment texture mapping that uses a viewing direction (3D ve" +
"ctor) to map into a view plane the six 2D textures arranged like the faces of a cube. ");
		var_Items->Add("Short");
spTreeCube1->EndUpdate();

74
How can I change the visual appearance for the control's radio buttons

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutRadioButtonWidth(23);
spTreeCube1->PutRadioButtonHeight(23);
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABNoCg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSF") +
"IADRfFoWmxTdAcYSCGSZZrGOiQADIM40R7UAABPBNKR1BKmHZDQRAApqXIjVDAYIQSSBUlkHScRijDICXSIIQmbajIZoJCiVZ3VaGETnRQlJQuEgOHZwDAsBwPBqBPzi" +
"Lp4WzmGqhR5ichYHI8RYVTKXYy3DxZW7OO4PQjQM7hHL8fwlfTuagyGpZOxjP5cdrYHw2J7NUzJeDxbhrTb6Zh7ILVX7TNIwXAdD4PIKmNryORsC4XG5pZ7oOh6Lo3G4" +
"rhWZI2nOL4eBON4LkeRJvHWDxvB6G5Lmac56D0OY3hMU5bm6bRoiAeA9DMX5riydJ+D8P4vEeO4xkEcQfCYBZrHKXgzlme4BmCB4eAUZRbAaAZeGsDg4EYCYEmERoaBE" +
"OJaiMIY2EIXo2FYFYHmIBp1j8OoQhcYZNDiIgIiYE4Jl2BAlj0agOmiKgyH6Xo2jECYGE8WJmDODpehgFgZEIXI3DyfoQmQSQWEaEZkgkJhKhKZA2hmSxCEyGREnSFJk" +
"kkVhWwCCAthFKRjiIXhpiXOhihGYwJESSRCFuIxqGoPomkmDhuhWT45kSXYcl8UxdAkbgPBaMhTD0JApj4foRBoaJ5iqAxdmadhzDcWxpgIf4bhsY4Gg6GYYDcegNGUY" +
"g6VMIsBBmNg8CmRwuCOJBgBaAgXh6JQzl6JocE+OQQn+KpqkqNouivgQiiaLJPHaMZYHwQAHHIdRrA6ep2jMbYqx2RxzmqBpajOLxOnacYPHcHZnHGOlynmbo0jSbRLF" +
"aJoJlyNpplyKArhcGZcgMWpGjCXo4liM4ukiHpngkeJojiTZphmLIDG2Nwak2N4vEaAJsj2bpLgWFxlGGExOn4dgvHOMpxGgbwkAyaxEFCFAEICA=");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAADhABCEMACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSF") +
"IADRfFoWmxTdAcYSCGSZZrGOiQADINI0R7UAABPBIMSjAamHZDQRAApqXIjVaAhySQKksg6TiMUYZAbaRBCEzbUZDNBIopUQLVU5ABbUEqBIipIrEQLHNwPBaEYZiOIY" +
"W5re4cfzIMhyLI8Ob3CqHZhleTwTjWGYvSp1dBbTQ2QyVRanMDqOjsKxmW5Gbh5NhfHY8dxnDKcZ5jGSudrjEZ9VpmG74JzeEbjRj8chxT4PDxnBK/YDSWgdLo8VzXBp" +
"cG2MY4maXxzFKQRxHgOQeC8H4TkuZhzHoNR9kaXpNnONZsGGMo9B4A5bmuFZ7n4Pw/i+XpFmSVB/mAB41hsQJfBYOJXgGXAHm4CoCmCtYAHqXRWBGWB/F2Z5UnaAxZFO" +
"aJ2DuTpzHCOQ5gwcg8veDBjlCaA0mGBg6BYapcEONZiHYHADg4MoKE+U4QkEIINAISAig4Y44moPIPA4EpoHSBoOngNgyDiW5jCGShCF+VouA2EQNhKHBMg+Y5pFYPYV" +
"mOQxYiAD4kEgNZRHSTokCWax4A4KA2DaDglGkUhYhoZRph4DYZB6NAllEbwOmgKhEhqJ4JjIa4ek8c48mGAoflcAQJhITxaBYCoHEuGZmHuIooioIgKgWJIUCWXh4hkN" +
"hImkM4JloMh6iaJRzhySAkCkVhFhUd4QhMJomD0KtvBCCJMGocouh6KIKiifoKlodAmAAOgrgYVoVD7Y5AlMJhDAqPoLh6D4DkCYosicSoYkkQhcmMapOD6LQKkqHgkC" +
"wKhwmILpHFqSJ7jaTZbHYBw1lCFwwnEcAqgOUoUGSa5DxkLQGHsVhWhQRJKkmFYkBuaI1lgdBtlMdZKi6LoKnSZQwggOp+kGJpjiufIDiyGQXCiYZCmyJxeAQYQi0YYI" +
"+lieoqmmKwpHIdoskIGQGFWSg8DIBx6GCQ4AAYXhHjlo5fCqNpPjYRJ/kucwMkcMpM9GMwqk2Tx3AGa4AnIVpkm2N5cAgcJvk2XIsjGeYlF53hKk2dAnEGJR7nCdxlgY" +
"c4ajmEplk4NYNGcWpKiYRx5k4dYhC0RxggsTpXAGQA3jaBoEmuUIuFuCo4DoNoDHqShwCKXYPCSXYzmOMx6lwOwZoawrgkE0HwBY1xegdE2MMWQhBOhoEUBIQAgCAgA=" +
"=");
spTreeCube1->PutBackground(EXTREECUBELib::exRadioButtonState0,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exRadioButtonState1,0x2000000);
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(12);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Radio");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasRadioButton,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutToString(L"Radio 1,Radio 2,Radio 3,Radio 4");
	var_FaceTree->GetItemByIndex(1)->PutState(long(0),1);
spTreeCube1->EndUpdate();

73
How can I change the visual appearance for the control's check boxes (6)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutCheckBoxWidth(16);
spTreeCube1->PutCheckBoxHeight(16);
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABKMGACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSF") +
"IACxfFoWRrnaA5QoGM4EDTRYADCKsaQ/J0LcI1FLUEyUf6sAArB74XiCIAIQiUBomGahajkMoYZAAaDCCI2a4aDZCIoVHalKgxC5oKSqCJqbptMZ/HrgJQYGRuC4NQ7C" +
"cDKDATbr9MZ9ZBCNZoPimEYtS7MMLyRB8QpyAytaBhRaaGwmSr3U7Oc50d69FYTIxcYZoCq1XBOGYMZLcNR3La9YYnBqMbRAeJYNped6NSDVcKxLgaa4fTrOZZzHL9Hp" +
"viMWYBnWOr+kwJ4zlqY53CAZQ/B4GZzmab5qHyT4cDeDInkwPp8DCTI/h+Iw7nMZZhj4B5eGKL57gYGAgAadZoG8soBgYfxKjcSRYCCYJGGYDoDmCQgNh0ZIZAaSB2gW" +
"YJ2F4FwdhsJpuBQfRiAWdQJDqUQUCUASAgA==");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAADhABV0GACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSF") +
"IACxfFoWRrnaA5QoGM4EDTRYADCKsaQ/J0LcI1FLUEyUf6sAArB74XiCIAIQiUBomGahajkMoYZAAaDCCI2a4aDZCIoVHalKgxC5oKSqCJqbptMZ/HrgJQYGRuC4NQ7C" +
"cDKDATbr9MZ9ZBCNZoPimEYtS7MMLQXK8QpyAytaBhRaaGwmSr3U7Oc50d69FYQXqvYZoCq1XBOGYMZLcNR3La9YYnBqMbRAeJYNpedy2YbkFC5LStHwbCrBVpxWotDx" +
"QjWVgrHYGI9iybhbiGUo+jafA6DKZxjkoVgxHoHR+iqXx2jMA52l8XJ/CMJ5TkaCp7nmOwHk+XovmECR8BWMYyAIHAgEOBgGFaSo4CWeQVgoSA0lOA5fEGEZQBSYRGBi" +
"eYFlWMhiBoPZhkabI3geYIzDYIoHA8dxAH2CZYGMLgqHeW4zAYLgWCMB4gGIeoOjcQgJCqWBhgIOhvGKRhAn2D5blcWBaB+JBGi2EhWAgOQlhmEpYgiHB9DwJQCloUgW" +
"mUQoOFaEZXlaSB2haZJGF4WwdhsJRslmGJGDmFhYg8ZoHBiZYalCE4tBEQhQBAgI=");
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState0,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState1,0x2000000);
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(16);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Check");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasCheckBox,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutToString(L"Check A,Check B,Check C,Check D");
	var_FaceTree->GetItemByIndex(1)->PutState(long(0),1);
spTreeCube1->EndUpdate();

72
How can I change the visual appearance for the control's check boxes (5)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutCheckBoxWidth(24);
spTreeCube1->PutCheckBoxHeight(24);
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABO8GACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSF") +
"IADRfFoWmxTdAcYSCGSZZrGOiQADIM40R7UAABPBNKR1DZ+KxAB76cheIIgAhCJQGSYZaDqOQyRhkBTqEIITZsRoNUIiRStayuDCLTwoSooXayfjHYAwOBYHgmC4NQ7E" +
"MRxLAmOw1ZKPQjgDDvDilM4tS7MMxzLK8cx3FjqaAyWhQTgePZNU7UNLwPRMCb3LqvbBsOxbHqma5tWjVYDwPZ9cz3Pq9biAG57fwnC59YLheK5Li9Q4jLbMdByXLMDx" +
"HiuRJpnWOw7k6RxrjuM5pj+PA+C8H4TkuZpznoPQ+H8B4rlubp3nsfYfA+H5Tl2cp6n4Pw+C+P5rnucx/B+aAFmqAAgCgFZlHSVZICYCoCmCSA2A6A5hAgPZTGWIQYFY" +
"FoFmCVsjj2YZIHYHoHmICIGCKCJiEiCZBGMTJjiIKoJGKSI2C6CBOjiRYSEITp4lWIgyhiOJmDqDpYHiIYgDqEITi0ERCFAECAg==");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAADhABA4Cg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSF") +
"IADRfFoWmxTdAcYSCGSZZrGOiQADIM40R7UAABPBNKR1DZ+KxAB76cheIIgAhCJQGSYZaDqOQyRhkBTqEIITZsRoNUIiRStayuDCLTwoSooXayfjHYAwOBYHgmC4NQ7E" +
"MRxLAmOw1ZKPQjgDDvDilM4tS7MMxzLK8cx3FjqaAyWhQTgePZNU7UNLwPRMCb3LqvbBsOxbHqma5tWjVYDwPZ9cz3Pq9biAG57fq7ZLEYziOR4Hg+JzFbDVKq0aYjA5" +
"RlCU5mm8OR6l6Q53pqaAkgQXgBBMeRmGabhtjsTAeGuaZsm+aQMDwfwvAuJYch2dBsj0XJWkqHIZnMCIOEMBICHiXwHFWVx+A+V5pj4eRGGefJvDcC4WjyXArEWF4OAy" +
"AgghYCYsDAT5oHYHoHmGU5sncPANGKAA+HiXJyi4IA/g8U4klQfAeDeVIdgqYxIlWaoNGMQ5gnAOIOHMIIQg4IZonSEIBB0OIInCEAjGgaY6GCJIJDYQIRiEOBVmEN5L" +
"EGHhOggIx5F4WoKmKWI9lOCgdAkahZhaZhIH4QoRAMCQaE2GJmFmFhQgUJQZgoShwiSSY2HaBxllmFZqFcJ5JnYfofmgCgGgKIJoCeKYWiEKIKCaCogBqd4oneI5pAoR" +
"oSiSaRKFaFolmkVwFg0M4OgodoYieagKgaFA6moRhJAkO5qgaCJKGKapKjaLhhmmNoAmoQhOjQRQJEAQCAg==");
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState0,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState1,0x2000000);
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(16);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Check");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasCheckBox,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutToString(L"Check A,Check B,Check C,Check D");
	var_FaceTree->GetItemByIndex(1)->PutState(long(0),1);
spTreeCube1->EndUpdate();

71
How can I change the visual appearance for the control's check boxes (4)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutCheckBoxWidth(32);
spTreeCube1->PutCheckBoxHeight(32);
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABfICg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRijDIAbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7E" +
"MRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDx" +
"RDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFY" +
"FoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4U" +
"kmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" +
"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A" +
"0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh" +
"8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2" +
"UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAADhABcoFg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"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" +
"gHQyBEEIJACBAQA==");
	var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAADhABQ4Fg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"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");
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState0,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState1,0x2000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState2,0x3000000);
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(16);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Check");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasCheckBox,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutToString(L"Check A,Check B,Check C,Check D");
	var_FaceTree->GetItemByIndex(1)->PutState(long(0),1);
spTreeCube1->EndUpdate();

70
How can I change the visual appearance for the control's check boxes (3)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutCheckBoxWidth(32);
spTreeCube1->PutCheckBoxHeight(29);
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABQACg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5B") +
"iKAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpf" +
"baKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZ" +
"OkoNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonefApC2BQglWHIKAAPx/D4FoyHgTZsAIXwYAWYR8kMR5YAAP4PmOdZ7H8X54AoDhziASAaAiAoeAecZ+CQ" +
"IAID4GhwGEF5eBOAphHgZgbgiWQYHYB4CGICA2CSCpPnMYIjgEYZoiIFYDCGCIyCsNgKCCRgSgyHZ4FoKoNiGOJgDKDphEidg0giJEnDiDojBkFZXg+IxZCYGoLgMOQS" +
"CmFBlCgOJZCmA4jDiCYJmSZw6FCEglheRhbA4ZZpgIV4ZCYV4+GeGhhniTghhsYAps+HBkGmTh0hmChpiId4PCSeQeHuHwnmmKhyg+aA3gYdohh2cxUhwCJNBIRZuiIX" +
"oDGiJwOkyWR9nkPwoiKFA2G2YBznaHIlB0cxGBiAYfAONJUCgIBmlAFg6k0AhaioJ5OkMTIdi0axzEyHmEBIYJpDMCJanyDowiwQwyq0LBbB6Sowg6KwYmoMxI26GwIB" +
"wU4Mj0GpgCOCI6BmG4mmYX4mG2a4GmCOAmhuFhfjmAALiKao5m6S4ml8bpNmKQBQgkFpzjSbg1koc44lYKQviKFp9j+TRrnsAZADALAXASQZwDwJp8xQc4uiSQ5xAwRw" +
"SkSYhDi0ERCFAECAg");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAADhABZ8MACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5B") +
"iKAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpf" +
"baKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZ" +
"OkoNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonePwfA6fx7n2MIkBqM4REAB5vnOQpWCeAhnjACR9B4IoEC0OQMAGSZ0H2AxHmQAA/g+Y51n6AAgCgEZLDa" +
"ChgmCUQkACAw8g4AJgjKEgNH6IQIEmYB/mAEhCAOBYZDMZIlA2TQSEQCheAGiwKDmTBiAWYYDCCaIWBOChijiMJ/DYXx4loNINBsQBdkWDpiCidgRg+YRYFoRANCMEAu" +
"EcXhlHiVISAMTgSlwXh1mOSISE+CZhEiKgLCiQw5FYWYaleFpQBiA4PhOSJhHMJgYD4Yx3mKn5fDYCgwkiUQkiUaRigIYhoEkZZUASTRiHAIodCSWYKCaHgmFkBh0CiA" +
"wZn6AYhGaUhcBiEhmkoEJQCOQBTiiTQjlwGZwDOE4oncXh5hmHIzGCIgMCkah0lMJYBFeMAHiyQRqmKMomiCY5wnoPUzFyuIMmIJh2ioXJqi6Ehkg0coEC6H7zHSUgkk" +
"CaxA42ToDmydw7GCahygODQNCIVASgoGQ7GyWAyEeaA9n2GQkAsBgGjQKBqGmwxNiKHA7HATxjiSTgzGwaY6h2J5AGOiwfFkM4UkEHQPiWQhQisD5zFyHwKimcAWgZhp" +
"rBQAA6AyAgVleHILlucAAj+KA5joDhjg0VhOBEPpwjkBgQD+H5wh2bACBmYBBlwAQPGOKJRH0DwTHiNpHjICgSjiLYkCUGrzk4ApUFoNRJjCBxBGQTwjgCOpPBsWRnDG" +
"K4DAiMxDlKXp3ECRpFiuKgOh8AZODKcBqH0NR9GGdA+A6YxplMdRlHmPY4DsTRig2YXfECDg2lmJAjnCeQ8meOANwYwSBXEsDUeQZxdDxDgGwbY3QjjmHiKUcIwQnBfG" +
"ADYZowR7B6E6E4MI2g1AUAsOkFwCwOhmECC0ZYkxzhhFME4egXQThHGkPUDoPwqtkE6E8LQaQJiHDiK4KYaBCiwFwOkaYVROhqXoIcdw9BzAcCKNAZg3Qbg2BsD0cY+B" +
"vBPEWOUfIHgziVHMOMYwWQEAACGAEZYgg7gaGKCUXQ6hoD7F2JwW5txIhPHYBQTwwQljzD6AYW4zx6h9B+F8bo9h/AfDONUZwkhziJF8FwHALBaCTAwIEG4CASDfC4Fw" +
"AIRRHuhBAOUUwAxoAQH6C0eACgDAeAMGoGgGREDPAiKAAIVwBgYA2AUZ4QgEAOEGMANwCwIjWCIEgJIASAg==");
	var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAADhABT0MACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5B") +
"iKAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpf" +
"baKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZ" +
"OkoNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonePR+D6d57GESA1GcIoAA+X5fgW2oJh6QAlnMdZHlgFIogGXw3lQNB+AAA54n4PxflefgBgCXIyBIFgZmG" +
"AYOBqAhKEgLZ5gOIQHgGfoAAkCAKBQZJIDiJBogqRwYjYGAZksGJFmGAogkiAgRgkIhohyfwgiOSIsGiCxkAGRBwhCRgZBYM4HGMWA+DeBJhEIBhOg+JAZEYQAaGUQhy" +
"FYdZjEgfhKgiIQohWc4TggGRCFKGJkCkDBehmTpJiWTIWGCWRtl+CJkkcfIAhyZgphIdoLEaWZkHeHpmjkIhaggZp5HYORzCcMgCHWFIkDGQBviKZx4jQZIjkuKhFkEN" +
"gKDCThJiAHR5kIXhykeeh2geFBGmqBBmiiaI6hQb4diiGYcF4PgqkYTJXCgApDDiCYbGmBw6hqIJZCGeo6hUBoZlgaovmOY5CkIPQsEqKoJh2J4RjQeYylkM5cm0NgMh" +
"GegNH8JZImGE4BEeWpygiEJhiGDIGjeXATgaYgXG4SweGQGRugKOpqGSThTAQdA+hcCQuhsP5HjuVoPBkJQqhaZAXEsO52hkNYNGEcwCjmJAaCaew5HCBhOA8PpvJQDg" +
"/iyMZmiMGYGv4dw4jGB5MlKRpwCEcwEhAKhcE4OhRisdwEhmSZHGyJwjGQTRMjcHZHmKXBUGuJxHniHwlkqXpzG8Oo+moWRKmgGRKC0BZzk2c/FmiUZkFGBohBuJQhH8" +
"TgxjUB4ElUJwCDMRIRHuNBYhyd5WmuTJKECQYuEuCJhHWTYShQNhtm0M5zFmSpvFGbgvkgKI9DgXw8jcRwwm0GoCgEAxhoAWB0MwgQWi7EmOcMIpgnDwC4CcA4wh4gcB" +
"+BUYYcROBPA0GkCYhw4iuCmDgEg1wWAwDmBQJwlw9ifD4OsTAcQLhDBmHQbg1gzBvCWNMegnQnhNGqHUDoXwujWHqAYLICAAAbCKDAOQ4BMD9GaFUUo2QYjzFcLcTovB" +
"IhODuBoYoJxEBSHwP4JIrRyB5D8FcTI5x8jeEeJsco7xSC5HEG8S4DgEjnHaNQWIfRJheDaH8BgTgoB8EqFYMoFxPg/CeMUeovAMDBGKJkBgXxGgLHsH4R4QQpj7EyP8" +
"ZI1hEChBQAggI");
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState0,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState1,0x2000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState2,0x3000000);
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(16);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Check");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasCheckBox,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutToString(L"Check A,Check B,Check C,Check D");
	var_FaceTree->GetItemByIndex(1)->PutState(long(0),1);
spTreeCube1->EndUpdate();

69
How can I change the visual appearance for the control's check boxes (2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutCheckBoxWidth(44);
spTreeCube1->PutCheckBoxHeight(20);
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABJACg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIxDFIsBxPFKCQChEZBUjKAwyDBIUzSD") +
"IUBhZBIKI7hGa3NBwJAAUTRch0j4iCRQGiYZyHKcxMYgIYCUBkERtMw0GyERQhGb4DoGA4IBhFZQVVLsRBIDh2bbuG4LSrWdJ3OyaN5EbbgZz9P7AMBwLA8EwXBqHYIU" +
"GJGbhlbTnR7HMhvDIsPDnFqIZhmOZZXjlfh7T7KNByO6LcI3AiDagtWpNTpjf5dV7YNh2LY9UzXNq3bI1W5aUqyAZ9QQpeB0LILYDbRp/FzyO5NNrHG6dZ7oOh1doOUI" +
"tlaP5lgcPA7hEJ47H8SD0l4LwfhOSJ9nOIh9DefBREMKYMDaX59nsVhvlKdBpCGfgIl+L43lGG5lH+YAGlWZw/EYOAVH8ZQXncdBJDwIJGkiGYDlmUh2BKABhEgVJpgW" +
"X4BA4BxcAeWB1H8KJiAaSJJgiWZWAmVA0CEWIln8JYikWfZpCIXARE0fw3GMRpJnaCRYBGWg6gqI5HgoJxfkYCQFlkX5PhkFYyBAJIImGABpGOWQ1k8OxlAWfZ6BGJA1" +
"noRQ+GQeQmEoX4kkkOheG2JQDjYUh+iMGJODUbBjHkbAzg6BxpH4bhsmOdZ6EEGAbmIAR/gSCZWkmfYShwYJYlOH5mnoBYvCSaBFnyDYhlcKAll2AwPAaSggCiWZaD6A" +
"ogiEc4mBmBpYnePZxGMHw3lUeoGGUN5aH8NJpDoBgDgERg6GGFICh2d4GiWK5cngDgvHqWInG0cIfFyBwpjqLArkcTZVHWV5nGaNhxA6VoVicahajaNo9gUHI2nIdRwB" +
"wJoOkSMJlFmKpWjWWY2HwPYwm2SxJHIe5sGsYpiGcXpHj6XYxA6NBFAkQBAIC");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAADhABB4Cg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIxDFIsBxPFKCQChEZBUjKAwyDBIUzSD") +
"IUBhZBIKI7hGa3NBwJAAUTRch0j4iCRQGiYZyHKcxMYgIYCUBkERtMw0GyERQhGb4DoGA4IBhFZQVVLsRBIDh2bbuG4LSrWdJ3Oy3KKiQy5cABPq/b6wDA8CwXAaHYRi" +
"GDYThmF4dRQAG6RcTLWrPFqVZheGYua4CLBxRrINA0LD9DyHJKnaZkDgpUQGN5dTS4GwPQCN3xRWzUyBaQzJfAZV7Lbw3PadX4XRLHcLwfAXFqWaaNZLneh5DouDz3P5" +
"YMuaRBicQ4nl6bpuBwKYRnuUY2jsfg9B0b43hOH5KjucQPnwOpMi+A4pnab5qB0a4znuf57n4f5gAeeJqC4R42mEcg5AoIRBnUfggkgLJiCaRA4AYEoEl+Y4AhcDpaFO" +
"GIrBgDYyBwHICmIB5djge4hEilY8g0MotiUZICkMYB6AEIgYDYIh0g+Q5cm+CYjgOfJ6DuDZ2hSWggkESI6DCDJjCkFZDg0Yx4mYJYOmOVoiD8BQhlgfhEgwZRGBoJIS" +
"y0IgqGoIpDhCJAVCUWQaFMY5fAkYgBD+D5TmyYAlENPBnCsRhFkoYYcmYMAAmkLRHDmGZ9h2Rw4BkeBnFmeZWHSGIYHeQZuHoHonjGboamaVwYmIJwEEYbZNiCaRKAmd" +
"x1hyNZChWIQpjcKZYHAKQ6FqHIoh0Vp6hkcBqgoAodikKgmi2LYnmsCohkAXoXkqMojgMIpKh2Gw6lEFAlAEgIA==");
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState0,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState1,0x2000000);
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(16);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Check");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasCheckBox,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutToString(L"Check A,Check B,Check C,Check D");
	var_FaceTree->GetItemByIndex(1)->PutState(long(0),1);
spTreeCube1->EndUpdate();

68
How can I change the visual appearance for the control's check boxes (1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutCheckBoxWidth(37);
spTreeCube1->PutCheckBoxHeight(15);
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABOkGACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjQAsTRQFocAChEYxXjKBA1SJNUgyj") +
"6WCQPR7CM5OaDgSABIijJDoGAwIgkUBpGKdBynEYoYxAYySQAIIjaYhoNoJChCM7QHQEBwQDCLUgrGbIbCQHDtW5cFr3DaLEzsXi8FwvK67cr2fp/YBgOBYHbdcJ5Oxk" +
"bouPC7Sa0AKKYywGRNFijV4se7MHzzLKHXxZa6UNJhGhaHomCYkYDILhxfDMGx7GqvbBsOxPXj2DZLW7cNIyDS3NyfLqzcBwOZZdrPC6NPzTdSuHQOC43Tqgcb0PDaVg" +
"hmOVpnHYOAcE6FxzEuCAAGGOw+C2HhzjuZpRGGAAXj8H4zGWZ53mEPAXgyZ43kWZZ4H4L4ehwRp/muTh2l+F5ll8cpZEeeZYHQIEZEoW5MBgNZ9gGGpzioEoCF+GA0kG" +
"ApYlYnY6iAaBtjaBQfAabYpgMIJWgIGx9BmNhiBsNBikiAZwgWIg2DoMRkAyKJWB+C4fAYGg1DKIw2DAAA6lEFAlAEgI=");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAADhABC4Cg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjQAsTRQFocAChEYxXjKBA1SJNUgyj") +
"6WCQPR7CM5OaDgSABIijJDoGAwIgkUBpGKdBynEYoYxAYySQAIIjaYhoNoJChCM7QHQEBwQDCLUgrGbIbCQHDtW5cFr3DaLKI0J5kUBENhjaBafJ+XzfeBYDgmAYNQbD" +
"cJxDC8KwWeQjXYTdyXHilZLaADJcqZVChSwzCafZ5oOK6Bodfq0VY2HabNgnYbNbT7bBrLq6UwWTjZTYZMxuHKMVyLJK/b5wOi3axKBBJWjYOR5Li+MbvNLFCRmO6Obp" +
"jgWHxsCiS5vleW5dkCOBBHWPA4F4Rw3kuZpYG0NwbjuD4LAyWhUho9BnmueZ4nof5+BwS40E+Nx9jYeaKAWNhulkF41m8fBfDOVJoDWDJCCALw7g0cphngP5OEMBISH8" +
"Wg3hI05ckaUYRAAGL8H4PpPgOVJnDUTIiBAKRfkwcZ0BuBAhCeYgVgWXA3AEfRsiGSJlkobIYnAAgYAWDJyEQPgyAgAIFh6CxBjOMJUCyrQckcJxjniahSHMF54gGRoP" +
"l4EZsBgOpNAKMhNDGSZnjYOIUmGRo0mwdAAAgFg1hYGIpGiagzgqE5onMOoelgahkgAIZll2U4bCMaZ2AYagnHgbgDFuXQ2GwM4fCiCYtmMapoBgdJaDAaBni2PYiifS" +
"R8HQDpqD6AYmEwFxBlIboWnoGoJiUahGHmNonCYZwmGaJwNiKKBriQWRaEmFooA6UxQhsFAdAqDo6iViJYFCLQdCOLQREIUAQICA=");
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState0,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exCheckBoxState1,0x2000000);
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(12);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Check");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasCheckBox,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutToString(L"Check A,Check B,Check C,Check D");
	var_FaceTree->GetItemByIndex(1)->PutState(long(0),1);
spTreeCube1->EndUpdate();

67
How can I display an item to fit the control's width

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutHasLines(EXTREECUBELib::exThinLine);
	var_FaceTree->PutItemPadding(10);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->GetColumns()->Add(L"<c>Default")->PutAlignment(EXTREECUBELib::LeftAlignment);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"Pos");
		var_Column->PutPosition(0);
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutFormatColumn(L"1 rpos ``");
		var_Column->PutWidth(24);
	EXTREECUBELib::IColumnPtr var_Column1 = var_FaceTree->GetColumns()->Add(L"Pos");
		var_Column1->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column1->PutFormatColumn(L"1 rpos ``");
		var_Column1->PutWidth(24);
	EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
		EXTREECUBELib::IItemPtr var_Item = var_Items->Add("<r>Root 1");
			var_Item->PutBold(VARIANT_TRUE);
			var_Item->PutDivider(0);
			var_Item->PutBackColor(RGB(240,240,240));
			var_Item->PutSelectable(VARIANT_FALSE);
			EXTREECUBELib::IItemsPtr var_Items1 = var_Item->GetItems();
				var_Items1->Add("Child 1");
				var_Items1->Add("Child 2");
				var_Items1->Add("Child 3");
		EXTREECUBELib::IItemPtr var_Item1 = var_Items->Add("<r>Root 2");
			var_Item1->PutBold(VARIANT_TRUE);
			var_Item1->PutDivider(0);
			var_Item1->PutBackColor(RGB(240,240,240));
			var_Item1->PutSelectable(VARIANT_FALSE);
			EXTREECUBELib::IItemsPtr var_Items2 = var_Item1->GetItems();
				var_Items2->Add("Child 1");
				var_Items2->Add("Child 2");
				var_Items2->Add("Child 3");
		var_Items->ExpandAll();
spTreeCube1->EndUpdate();

66
Is it possible to prevent showing the selecting item ( hide )
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutCheckBoxWidth(32);
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(10);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Check");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasCheckBox,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutToString(L"Item A,Item B,Item C,Item D");
	var_FaceTree->GetItemByIndex(1)->PutState(long(0),1);
spTreeCube1->EndUpdate();

65
Is it possible to provide a few radio-buttons only, not for entire column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(10);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Def");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellPaddingLeft,long(4));
	EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
		var_Items->Add("Item 1");
		EXTREECUBELib::IItemPtr var_Item = var_Items->Add("Radio 1");
			var_Item->PutHasRadioButton(long(0),VARIANT_TRUE);
			var_Item->PutRadioGroup(long(0),1234);
		EXTREECUBELib::IItemPtr var_Item1 = var_Items->Add("Radio 2");
			var_Item1->PutHasRadioButton(long(0),VARIANT_TRUE);
			var_Item1->PutRadioGroup(long(0),1234);
			var_Item1->PutState(long(0),VARIANT_TRUE);
		EXTREECUBELib::IItemPtr var_Item2 = var_Items->Add("Radio 3");
			var_Item2->PutHasRadioButton(long(0),VARIANT_TRUE);
			var_Item2->PutRadioGroup(long(0),1234);
		var_Items->Add("Item 1");
spTreeCube1->EndUpdate();

64
Is it possible to provide a few check box only, not for entire column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(10);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Def");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellPaddingLeft,long(4));
	EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
		var_Items->Add("Item 1");
		var_Items->Add("Check 1")->PutHasCheckBox(long(0),VARIANT_TRUE);
		EXTREECUBELib::IItemPtr var_Item = var_Items->Add("Check 2");
			var_Item->PutHasCheckBox(long(0),VARIANT_TRUE);
			var_Item->PutState(long(0),1);
		var_Items->Add("Item 1");
spTreeCube1->EndUpdate();

63
How can I show radio-buttons for the entire column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(10);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Radio");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasRadioButton,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutToString(L"Item A,Item B,Item C,Item D");
	var_FaceTree->GetItemByIndex(1)->PutState(long(0),1);
spTreeCube1->EndUpdate();

62
How can I show check-boxes for the entire column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutShowSelection(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->PutItemPadding(10);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"<c><b>Check");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutDef(EXTREECUBELib::exCellHasCheckBox,VARIANT_TRUE);
	var_FaceTree->GetItems()->PutToString(L"Item A,Item B,Item C,Item D");
	var_FaceTree->GetItemByIndex(1)->PutState(long(0),1);
spTreeCube1->EndUpdate();

61
How do I select programmatically a value in the calendar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"C:\\Program Files\\Exontrol\\ExTreeCube\\Sample\\Texture\\Chapel");
spTreeCube1->PutBackground(EXTREECUBELib::exDateHeaderForeColor,RGB(1,0,0));
EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = spTreeCube1->GetFrontFace()->CreateCalendar();
	var_FaceCalendar->PutForeColor(RGB(255,255,255));
	var_FaceCalendar->PutNonworkingDays(0);
	var_FaceCalendar->PutValue(COleDateTime(2016,12,31,0,00,00).operator DATE());

60
How do I select programmatically a caption in the list

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"C:\\Program Files\\Exontrol\\ExTreeCube\\Sample\\Texture\\JapanGarden");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutItemPadding(40);
	var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
	var_FaceTree->PutForeColor(RGB(255,255,255));
	var_FaceTree->GetItems()->PutToString(L",<sha \\;\\;0><font \\;18>Garden <b>A,<sha \\;\\;0><font \\;18>Garden <b>B,<sha \\;\\;0><font \\;18>Garden <b>C,");
	var_FaceTree->PutCaption(L"Garden B");

59
How do I select programmatically a value in the list

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"C:\\Program Files\\Exontrol\\ExTreeCube\\Sample\\Texture\\JapanGarden");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutItemPadding(40);
	var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
	var_FaceTree->PutForeColor(RGB(255,255,255));
	var_FaceTree->GetItems()->PutToString(L",<sha \\;\\;0><font \\;18>Garden <b>A,<sha \\;\\;0><font \\;18>Garden <b>B,<sha \\;\\;0><font \\;18>Garden <b>C,");
	var_FaceTree->PutValue("<sha ;;0><font ;18>Garden <b>B");

58
How can I show solid lines instead

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutHasButtons(EXTREECUBELib::exArrow);
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutItemPadding(10);
	var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
	var_FaceTree->PutHasLines(EXTREECUBELib::exSolidLine);
	var_FaceTree->PutLinesAtRoot(EXTREECUBELib::exGroupLines);
	var_FaceTree->PutGridLineStyle(EXTREECUBELib::exGridLinesSolid);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exAllLines);
	var_FaceTree->GetColumns()->Add(L"")->PutAlignment(EXTREECUBELib::LeftAlignment);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"");
		var_Column->PutAlignment(EXTREECUBELib::RightAlignment);
		var_Column->PutFormatColumn(L"lower(%0) right 1");
	EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
		EXTREECUBELib::IItemPtr var_Item = var_Items->Add("Root <b>1");
			EXTREECUBELib::IItemsPtr var_Items1 = var_Item->GetItems();
				var_Items1->Add("Child 1");
				var_Items1->Add("Child 2");
				var_Items1->Add("Child 3");
			var_Item->PutExpanded(VARIANT_TRUE);
		EXTREECUBELib::IItemsPtr var_Items2 = var_Items->Add("Root <b>2")->GetItems();
			var_Items2->Add("Child 1");
			var_Items2->Add("Child 2");
			var_Items2->Add("Child 3");
spTreeCube1->EndUpdate();

57
How can I select the entire item rather than the column only

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutFullRowSelect(VARIANT_TRUE);
	var_FaceTree->GetColumns()->PutCount(3);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->GetItem(long(0));
		var_Column->PutCaption(L"<b><c>Pos");
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutFormatColumn(L"0 pos ``");
		var_Column->PutWidth(64);
	var_FaceTree->GetItems()->PutCount(spTreeCube1->GetFrontFace()->GetFaceTree()->GetVisibleItemsCount());
	var_FaceTree->PutSelectItem(1);
spTreeCube1->EnsureVisibleFace(EXTREECUBELib::exFrontFace,vtMissing);
spTreeCube1->EndUpdate();

56
How can I change the visual appearance of the control's header bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutBackColorHeader(0x1000000);
	var_FaceTree->GetColumns()->PutCount(5);
spTreeCube1->EnsureVisibleFace(EXTREECUBELib::exFrontFace,vtMissing);
spTreeCube1->EndUpdate();

55
How can I add multiple-columns, so the horizontal scroll bar is displayed

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutColumnAutoResize(VARIANT_FALSE);
	var_FaceTree->GetColumns()->PutCount(20);
spTreeCube1->EnsureVisibleFace(EXTREECUBELib::exFrontFace,vtMissing);
spTreeCube1->EndUpdate();

54
How can I add multiple-columns

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutItemPadding(10);
	var_FaceTree->PutLinesAtRoot(EXTREECUBELib::exGroupLines);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->GetColumns()->Add(L"Default")->PutAlignment(EXTREECUBELib::LeftAlignment);
	EXTREECUBELib::IColumnPtr var_Column = var_FaceTree->GetColumns()->Add(L"Pos");
		var_Column->PutPosition(0);
		var_Column->PutAlignment(EXTREECUBELib::LeftAlignment);
		var_Column->PutFormatColumn(L"1 rpos ``");
		var_Column->PutWidth(24);
	EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
		EXTREECUBELib::IItemsPtr var_Items1 = var_Items->Add("Root 1")->GetItems();
			var_Items1->Add("Child 1");
			var_Items1->Add("Child 2");
			var_Items1->Add("Child 3");
		EXTREECUBELib::IItemsPtr var_Items2 = var_Items->Add("Root 2")->GetItems();
			var_Items2->Add("Child 1");
			var_Items2->Add("Child 2");
			var_Items2->Add("Child 3");
		var_Items->ExpandAll();
spTreeCube1->EndUpdate();

53
How do I add a hierarchy

// FaceTreeExpandItem event - Notifies that an item has been expanded/collapsed into a face of tree type.
void OnFaceTreeExpandItemTreeCube1(LPDISPATCH   Tree,long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( L"Item" );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutExpandOnDblClick(VARIANT_TRUE);
	var_FaceTree->PutItemPadding(10);
	var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
	var_FaceTree->PutLinesAtRoot(EXTREECUBELib::exGroupLines);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exRowLines);
	var_FaceTree->GetColumns()->Add(L"")->PutAlignment(EXTREECUBELib::LeftAlignment);
	EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
		EXTREECUBELib::IItemsPtr var_Items1 = var_Items->Add("Root 1")->GetItems();
			var_Items1->Add("Child 1");
			var_Items1->Add("Child 2");
			var_Items1->Add("Child 3");
		EXTREECUBELib::IItemsPtr var_Items2 = var_Items->Add("Root 2")->GetItems();
			var_Items2->Add("Child 1");
			var_Items2->Add("Child 2");
			var_Items2->Add("Child 3");
		var_Items->ExpandAll();
spTreeCube1->EndUpdate();

52
How can I display a calendar control

// FaceCalendarValueChanged event - Notifies that the user selects a new date/value into a face of the calendar type.
void OnFaceCalendarValueChangedTreeCube1(LPDISPATCH   Calendar)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	OutputDebugStringW( L"Calendar" );
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = spTreeCube1->GetFrontFace()->CreateCalendar();
	var_FaceCalendar->PutValue(COleDateTime(2001,1,2,0,00,00).operator DATE());
	var_FaceCalendar->PutMonthNames(var_FaceCalendar->GetLocMonthNames(vtMissing));
	var_FaceCalendar->PutWeekDays(var_FaceCalendar->GetLocWeekDays(long(2)));
	var_FaceCalendar->PutFirstWeekDay(var_FaceCalendar->GetLocFirstWeekDay());
	var_FaceCalendar->PutAutoSize(EXTREECUBELib::exFitClient);

51
How can I change the picture/texture on the faces

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"C:\\Program Files\\Exontrol\\ExTreeCube\\Sample\\Texture\\Earth");

50
How can I get ride of the default texture

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutIdentifyFace(EXTREECUBELib::IdentifyFaceEnum(EXTREECUBELib::exIdentifyFaceFrame | EXTREECUBELib::exIdentifyFaceName | EXTREECUBELib::exIdentifyFaceCaption));
spTreeCube1->PutTexturePicturePath(L"");

49
How do I get ride of grid lines, and the top border it shows on the tree face

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->PutItemPadding(20);
	var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
	var_FaceTree->PutDrawGridLines(EXTREECUBELib::exNoLines);
	EXTREECUBELib::IItemsPtr var_Items = var_FaceTree->GetItems();
		var_Items->Add("Item A");
		var_Items->Add("Item B");
		var_Items->Add("Item C");

48
How can I add a list of items (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IItemsPtr var_Items = spTreeCube1->GetFrontFace()->CreateTree()->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");

47
How can I add a list of items (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFaceTreePtr var_FaceTree = spTreeCube1->GetFrontFace()->CreateTree();
	var_FaceTree->GetItems()->PutToString(L"Item A,Item B,Item C");

46
Fisheye Calendar View - Year

// FaceTreeValueChanged event - Notifies that the user selects a new item/column/value into a face of the tree type.
void OnFaceTreeValueChangedTreeCube1(LPDISPATCH   Tree)
{
	// f.FaceCalendar.Year = Tree.Caption
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	EXTREECUBELib::IFacePtr f = spTreeCube1->GetFace(spTreeCube1->GetVisibleFace());
	f = spTreeCube1->GetFrontFace();
		f->PutDate(f->GetFaceCalendar()->GetDate());
		f->Move(EXTREECUBELib::exRotateLeft,vtMissing);
		f->PutDate(f->GetFaceCalendar()->GetDate());
		f->Move(EXTREECUBELib::exRotateRight,vtMissing);
		f->PutDate(f->GetFaceCalendar()->GetDate());
		f->Move(EXTREECUBELib::exRotateRight,vtMissing);
		f->Move(EXTREECUBELib::exRotateRight,vtMissing);
}

// Move event - Occurs once a new face became visible, by moving/rotating from a face to another, into the giving direction.
void OnMoveTreeCube1(long   RotateDir,long   FromFace,long   ToFace)
{
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	EXTREECUBELib::IFacePtr f = spTreeCube1->GetFace(ToFace);
	f->GetFaceCalendar()->PutSelDate(spTreeCube1->GetFace(FromFace)->GetFaceCalendar()->GetSelDate());
	spTreeCube1->GetFace(FromFace)->GetFaceCalendar()->UnselectDate();
		f->PutDate(f->GetFaceCalendar()->GetDate());
		f->Move(EXTREECUBELib::exRotateLeft,vtMissing);
		f->PutDate(f->GetFaceCalendar()->GetDate());
		f->Move(EXTREECUBELib::exRotateRight,vtMissing);
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutEnsureVisibleFaceMargin(32);
spTreeCube1->PutEnsureVisibleFaceOnDblClick(VARIANT_FALSE);
spTreeCube1->PutEnsureVisibleFaces(L"0,2,1,3,4");
EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = spTreeCube1->GetFrontFace()->CreateCalendar();
	var_FaceCalendar->PutDate(COleDateTime(2016,1,1,0,00,00).operator DATE());
	var_FaceCalendar->PutAutoSize(EXTREECUBELib::exFitClient);
	var_FaceCalendar->PutMaxMonthX(1);
	var_FaceCalendar->PutMaxMonthY(1);
	var_FaceCalendar->PutShowTodayButton(VARIANT_FALSE);
	var_FaceCalendar->PutFirstWeekDay(EXTREECUBELib::exMonday);
	var_FaceCalendar->PutSelBackColor(0x2000000);
	var_FaceCalendar->PutSelForeColor(RGB(0,0,0));
	var_FaceCalendar->PutShowNonMonthDays(VARIANT_TRUE);
Date d = spTreeCube1->GetFrontFace()->GetFaceCalendar()->GetDate();
EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar1 = spTreeCube1->GetLeftFace()->CreateCalendar();
	var_FaceCalendar1->PutDate(d);
	var_FaceCalendar1->Move(EXTREECUBELib::exRotateLeft,vtMissing);
	var_FaceCalendar1->PutAutoSize(EXTREECUBELib::exFitClient);
	var_FaceCalendar1->PutMaxMonthX(1);
	var_FaceCalendar1->PutMaxMonthY(1);
	var_FaceCalendar1->PutShowTodayButton(VARIANT_FALSE);
	var_FaceCalendar1->PutFirstWeekDay(EXTREECUBELib::exMonday);
	var_FaceCalendar1->PutSelBackColor(0x2000000);
	var_FaceCalendar1->PutSelForeColor(RGB(0,0,0));
	var_FaceCalendar1->PutShowNonMonthDays(VARIANT_TRUE);
EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar2 = spTreeCube1->GetRightFace()->CreateCalendar();
	var_FaceCalendar2->PutDate(d);
	var_FaceCalendar2->Move(EXTREECUBELib::exRotateRight,vtMissing);
	var_FaceCalendar2->PutAutoSize(EXTREECUBELib::exFitClient);
	var_FaceCalendar2->PutMaxMonthX(1);
	var_FaceCalendar2->PutMaxMonthY(1);
	var_FaceCalendar2->PutShowTodayButton(VARIANT_FALSE);
	var_FaceCalendar2->PutFirstWeekDay(EXTREECUBELib::exMonday);
	var_FaceCalendar2->PutSelBackColor(0x2000000);
	var_FaceCalendar2->PutSelForeColor(RGB(0,0,0));
	var_FaceCalendar2->PutShowNonMonthDays(VARIANT_TRUE);
EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar3 = spTreeCube1->GetBottomFace()->CreateCalendar();
	var_FaceCalendar3->PutDate(d);
	var_FaceCalendar3->Move(EXTREECUBELib::exRotateRight,vtMissing);
	var_FaceCalendar3->Move(EXTREECUBELib::exRotateRight,vtMissing);
	var_FaceCalendar3->PutAutoSize(EXTREECUBELib::exFitClient);
	var_FaceCalendar3->PutMaxMonthX(1);
	var_FaceCalendar3->PutMaxMonthY(1);
	var_FaceCalendar3->PutShowTodayButton(VARIANT_FALSE);
	var_FaceCalendar3->PutFirstWeekDay(EXTREECUBELib::exMonday);
	var_FaceCalendar3->PutSelBackColor(0x2000000);
	var_FaceCalendar3->PutSelForeColor(RGB(0,0,0));
	var_FaceCalendar3->PutShowNonMonthDays(VARIANT_TRUE);
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetTopFace();
	EXTREECUBELib::IFaceTreePtr var_FaceTree = var_Face->CreateTree();
		var_FaceTree->PutItemPadding(20);
		var_FaceTree->PutSelBackColor(0x2000000);
		var_FaceTree->PutSelForeColor(RGB(0,0,0));
		var_FaceTree->GetColumns()->PutCount(5);
		var_FaceTree->PutHeaderVisible(VARIANT_FALSE);
		var_FaceTree->GetItems()->PutCount(spTreeCube1->GetTopFace()->GetFaceTree()->GetVisibleItemsCount());
		var_FaceTree->GetColumns()->GetItem(long(0))->PutFormatColumn(L"(0:=(1989 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->GetColumns()->GetItem(long(1))->PutFormatColumn(L"(0:=(1990 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->GetColumns()->GetItem(long(2))->PutFormatColumn(L"(0:=(1991 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->GetColumns()->GetItem(long(3))->PutFormatColumn(L"(0:=(1992 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->GetColumns()->GetItem(long(4))->PutFormatColumn(L"(0:=(1993 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0");
		var_FaceTree->PutCaption(_bstr_t(spTreeCube1->GetFrontFace()->GetFaceCalendar()->GetYear()));
spTreeCube1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABXgCg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDIAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZZmWCQCglf5HABRb7xPLoARTAaeJKoWboJAiGwLQjQUyABSdEyRJSLYhGIZRFqKZIRDSMFiwTZNVypAaIYqqaA6qzfJymabAAZJEradozTLIE7xVLEVYNKCm" +
"ZCwMAAcgmEQgSTAda2BYELTzECoYDGCrcKpWCaNQLWEB5BQeJSNL6kIqsazgAqPLJtWhaVwxXIEI5AAC5QA0S7pOxeO6JbRGdZbNrlbz1PTMaazTgYDzmWqiYxxMraXx" +
"SlmMprGsIpVl2LRnD0A5bnSN49mAARAlIYw6B0ThGFGDIBG0QghBMfZRiGNAkFECZoG6YQBgiOgCmuRRSg6GAElWAJMkgFgGgGYIIAyVQ7GCRhUAAOQhAMBgSDWIRDG4" +
"Fg3CGCBmBmBYNjgUJWDIIgIECZBCEsKIUkqCZhiiJgqgaYRjB4LguiMBAkiqDLenYrBjgiZg6gGIwyioMoNCAWJqEKEJjkiTg/CqIxZA4SoNmQWJ5AODxMlkRJehSZRJ" +
"FYVoVmUEw2D2EZlhkXhehfURuE+DJllkfhmhUJgZBoYwqiWEx+G6G5nAmRhyhoZJgAIUIUGcKZmHqHQlkmYh6h+Zp5nIawzigQ4CgaIZogoJoKiEDJpgodoMmiSgqhKJ" +
"NxDoPQzmmA4GhqJppkodoeiYDJ6FpaQpmqFomigKgiiqJIpiqShuiiGoonqKoZisapaj4dYl3WCo6i6a5KnaPotiQeoCj6MJsEsAhrDQLIDg6SoymySw2k6MgNAqJpQj" +
"OLRLFaUI0iyGxWlq/p6kIPY0m2Oxul2LZjDMRpmgiLoLiaaoIi4YxGinoY7kaauhnuGJlj2b4Lmaeo+m8Sx6mWOZhAubwCj2bpLhqKYJkyKTnECThYgoVJCCiYpPBIL5" +
"xEMLwWjsTQsGcGpGi6XBYkuRQLvcIhCE8DIWDCSZLiKdwqC+MpMjcLZKguXIcjiTJyFOQYnD+TYMmSLZOkmHJ3D6T50AybItiGYJji2MwABAECAg=");
spTreeCube1->GetVisualAppearance()->Add(2,_bstr_t("gBFLBCJwBAEHhEJAADhABOkGACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEYFDSAUIjKKkIhkGIYZBGQBJDjWGgyQjOEByD") +
"IMRwjE4YBpkGYYJDSIYHTZIUzTJAdGSVJKNKAoKCaEg2R4qsZCCKwUgmTo9VBJU9CFi6ZIRDSMFiyXZUIxHEKnIqrOjbBjaUpYABLErTBKUSzrEadAAwGbKJj+VJBULM" +
"VD2BDWGABOYAKarWa7fhaUqJUTVdI1VBOIYmADPcaqCxrLgMMpnWxpN42bjdPY7V6Bc7yXJsHimK5GUTQA4aFIENydJzINjsKBKBriLIybpeFr7BiME4/YLhAA0vZNUY" +
"sg0XguBqaAeEOIYUjqYQgGCCBJECUhjDoHROEYWooAGTRMCEEx9lGIY0CQUZOnuZQDBEdYFkeI5+H+igGAKAJgEgFgGgGUAzn4CoCmCSA2A6A5hAgCgQgSYRIE4EoFGG" +
"CBiBeBhhkgPgbgcYgICoH4IGGWIOCSBhiGiHgVgoYooFoAYLGIWI+DCCgjCiTgrgII4ImYOoOmOSJ1n4OpWmQDQBICA==");
spTreeCube1->PutBackground(EXTREECUBELib::exDateHeader,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exWeeksHeader,RGB(250,250,250));
spTreeCube1->PutBackground(EXTREECUBELib::exDaysHeader,RGB(250,250,250));
spTreeCube1->PutBackground(EXTREECUBELib::exDateTodayUp,0x2000000);
spTreeCube1->PutBackground(EXTREECUBELib::exDateTodayForeColor,RGB(255,255,255));
spTreeCube1->EnsureVisibleFace(EXTREECUBELib::exFrontFace,vtMissing);
spTreeCube1->EndUpdate();

45
How can I add a FaceTree object ( method 2 )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	EXTREECUBELib::IFaceTreePtr var_FaceTree = var_Face->CreateTree();
		var_FaceTree->GetItems()->PutToString(L"Item <b>1,Item <b>2,Item <b>3");
		var_FaceTree->PutSelectItem(1);

44
How can I add a FaceTree object ( method 1 )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutType(EXTREECUBELib::exFaceTree);
	EXTREECUBELib::IFaceTreePtr var_FaceTree = var_Face->GetFaceTree();
		var_FaceTree->GetItems()->PutToString(L"Item <b>1,Item <b>2,Item <b>3");
		var_FaceTree->PutSelectItem(1);

43
How can I add a FaceCalendar object ( method 2 )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = var_Face->CreateCalendar();
		var_FaceCalendar->PutAutoSize(EXTREECUBELib::exFitClient);
		var_FaceCalendar->PutValue(COleDateTime(1971,12,31,0,00,00).operator DATE());

42
How can I add a FaceCalendar object ( method 1 )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutType(EXTREECUBELib::exFaceCalendar);
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = var_Face->GetFaceCalendar();
		var_FaceCalendar->PutAutoSize(EXTREECUBELib::exFitClient);
		var_FaceCalendar->PutValue(COleDateTime(1971,12,31,0,00,00).operator DATE());

41
How can I add a FacePicture object ( method 2 )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutIdentifyFace(EXTREECUBELib::IdentifyFaceEnum(EXTREECUBELib::exIdentifyFaceFrame | EXTREECUBELib::exIdentifyFaceName | EXTREECUBELib::exIdentifyFaceCaption));
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	EXTREECUBELib::IFacePicturePtr var_FacePicture = var_Face->CreatePicture();
		var_FacePicture->PutPicture(IPictureDispPtr(((IDispatch*)(spTreeCube1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\zipdisk.gif`)")))));
		var_FacePicture->PutPictureDisplay(EXTREECUBELib::Tile);
		var_FacePicture->PutWidth(L"2 * pwidth");
		var_FacePicture->PutHeight(L"2 * pheight");
		var_FacePicture->PutTop(L"122");
		var_FacePicture->PutLeft(L"46");

40
How can I add a FacePicture object ( method 1 )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutIdentifyFace(EXTREECUBELib::IdentifyFaceEnum(EXTREECUBELib::exIdentifyFaceFrame | EXTREECUBELib::exIdentifyFaceName | EXTREECUBELib::exIdentifyFaceCaption));
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutType(EXTREECUBELib::exFacePicture);
	EXTREECUBELib::IFacePicturePtr var_FacePicture = var_Face->GetFacePicture();
		var_FacePicture->PutPicture(IPictureDispPtr(((IDispatch*)(spTreeCube1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\zipdisk.gif`)")))));
		var_FacePicture->PutPictureDisplay(EXTREECUBELib::Tile);
		var_FacePicture->PutWidth(L"2 * pwidth");
		var_FacePicture->PutHeight(L"2 * pheight");
		var_FacePicture->PutTop(L"122");
		var_FacePicture->PutLeft(L"46");

39
How can I prevent bringing a specified face into the front
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutEnsureVisibleFaces(L"0");

38
Is it possible to show one face opaque, while other semi-transparent

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutDefaultFaceType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->PutTransparentContent(75);
spTreeCube1->GetFrontFace()->PutTransparentContent(0);
spTreeCube1->EndUpdate();

37
How can I add a Calendar control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutMargins(L"0,0,0,0");
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutType(EXTREECUBELib::exFaceCalendar);
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = var_Face->GetFaceCalendar();
		var_FaceCalendar->PutShowNonMonthDays(VARIANT_TRUE);
		var_FaceCalendar->PutAutoSize(EXTREECUBELib::exFitClient);
spTreeCube1->EndUpdate();

36
Is it possible to init faces at once
// InitFaceContent event - Notifies your application that a face changes its type, so you can initialize its content.
void OnInitFaceContentTreeCube1(LPDISPATCH   Face)
{
	// Face.FaceContent.ShowTodayButton = False
}

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutDefaultFaceType(EXTREECUBELib::exFaceCalendar);

35
How can I disable zoom when rolling the mouse wheel
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutOnMouseWheel(EXTREECUBELib::exMouseWheelNothing);

34
Fisheye Calendar View - LR

// Move event - Occurs once a new face became visible, by moving/rotating from a face to another, into the giving direction.
void OnMoveTreeCube1(long   RotateDir,long   FromFace,long   ToFace)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	spTreeCube1->GetFrontFace()->GetFaceCalendar()->Move(RotateDir,vtMissing);
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = spTreeCube1->GetLeftFace()->GetFaceCalendar();
		var_FaceCalendar->PutDate(spTreeCube1->GetFrontFace()->GetFaceCalendar()->GetDate());
		var_FaceCalendar->PrevMonth(vtMissing);
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar1 = spTreeCube1->GetRightFace()->GetFaceCalendar();
		var_FaceCalendar1->PutDate(spTreeCube1->GetFrontFace()->GetFaceCalendar()->GetDate());
		var_FaceCalendar1->NextMonth(vtMissing);
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
EXTREECUBELib::IAppearancePtr var_Appearance = spTreeCube1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABdQFg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQ1DBJQwwXBIZhgGIBIRgUBJCjWGodQLOEgwH") +
"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" +
"ArBkgBICA");
	var_Appearance->Add(2,"CP:1 -6 0 6 0");
spTreeCube1->PutBackground(EXTREECUBELib::exDateHeader,0x2000000);
spTreeCube1->PutBackground(EXTREECUBELib::exDateHeaderForeColor,RGB(255,255,255));
spTreeCube1->PutBackground(EXTREECUBELib::exWeeksHeader,RGB(240,240,240));
spTreeCube1->PutBackground(EXTREECUBELib::exDaysHeader,RGB(240,240,240));
spTreeCube1->PutBackground(EXTREECUBELib::exDateTodayUp,0x2000000);
spTreeCube1->PutBackground(EXTREECUBELib::exDateTodayForeColor,RGB(255,255,255));
spTreeCube1->PutAllowRotate(EXTREECUBELib::RotateEnum(EXTREECUBELib::exRotateRight | EXTREECUBELib::exRotateLeft));
spTreeCube1->PutEnsureVisibleFaceOnDblClick(VARIANT_FALSE);
spTreeCube1->PutDefaultFaceType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->GetFrontFace()->GetFaceCalendar()->PutDate(COleDateTime(2016,1,1,0,00,00).operator DATE());
spTreeCube1->GetTopFace()->PutType(EXTREECUBELib::exFaceNone);
spTreeCube1->GetDownFace()->PutType(EXTREECUBELib::exFaceNone);
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::EnsureVisibleFaceEnum(EXTREECUBELib::exAlwaysVisibleFrontFace | EXTREECUBELib::exFitToEnsureFace));
spTreeCube1->EndUpdate();

33
Fisheye Calendar View - S

// FaceCalendarDateChanged event - Notifies that the user browses for a new date into a face of calendar type.
void OnFaceCalendarDateChangedTreeCube1(LPDISPATCH   Calendar)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'
		#import <ExTreeCube.dll>
		using namespace EXTREECUBELib;
	*/
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	Date currentDate = spTreeCube1->GetFrontFace()->GetFaceCalendar()->GetDate();
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = spTreeCube1->GetLeftFace()->GetFaceCalendar();
		var_FaceCalendar->PutDate(currentDate);
		var_FaceCalendar->PrevMonth(vtMissing);
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar1 = spTreeCube1->GetRightFace()->GetFaceCalendar();
		var_FaceCalendar1->PutDate(currentDate);
		var_FaceCalendar1->NextMonth(vtMissing);
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar2 = spTreeCube1->GetTopFace()->GetFaceCalendar();
		var_FaceCalendar2->PutDate(currentDate);
		var_FaceCalendar2->PrevYear(vtMissing);
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar3 = spTreeCube1->GetDownFace()->GetFaceCalendar();
		var_FaceCalendar3->PutDate(currentDate);
		var_FaceCalendar3->NextYear(vtMissing);
}

// InitFaceCalendar event - Notifies your application that a face changes its type to exFaceCalendar.
void OnInitFaceCalendarTreeCube1(LPDISPATCH   Calendar)
{
}

// Move event - Occurs once a new face became visible, by moving/rotating from a face to another, into the giving direction.
void OnMoveTreeCube1(long   RotateDir,long   FromFace,long   ToFace)
{
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
	spTreeCube1->GetFrontFace()->GetFaceCalendar()->Move(RotateDir,vtMissing);
}

EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAADhABXgCg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDIAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZZmWCQCglf5HABRb7xPLoARTAaeJKoWboJAiGwLQjQUyABSdEyRJSLYhGIZRFqKZIRDSMFiwTZNVypAaIYqqaA6qzfJymabAAZJEradozTLIE7xVLEVYNKCm" +
"ZCwMAAcgmEQgSTAda2BYELTzECoYDGCrcKpWCaNQLWEB5BQeJSNL6kIqsazgAqPLJtWhaVwxXIEI5AAC5QA0S7pOxeO6JbRGdZbNrlbz1PTMaazTgYDzmWqiYxxMraXx" +
"SlmMprGsIpVl2LRnD0A5bnSN49mAARAlIYw6B0ThGFGDIBG0QghBMfZRiGNAkFECZoG6YQBgiOgCmuRRSg6GAElWAJMkgFgGgGYIIAyVQ7GCRhUAAOQhAMBgSDWIRDG4" +
"Fg3CGCBmBmBYNjgUJWDIIgIECZBCEsKIUkqCZhiiJgqgaYRjB4LguiMBAkiqDLenYrBjgiZg6gGIwyioMoNCAWJqEKEJjkiTg/CqIxZA4SoNmQWJ5AODxMlkRJehSZRJ" +
"FYVoVmUEw2D2EZlhkXhehfURuE+DJllkfhmhUJgZBoYwqiWEx+G6G5nAmRhyhoZJgAIUIUGcKZmHqHQlkmYh6h+Zp5nIawzigQ4CgaIZogoJoKiEDJpgodoMmiSgqhKJ" +
"NxDoPQzmmA4GhqJppkodoeiYDJ6FpaQpmqFomigKgiiqJIpiqShuiiGoonqKoZisapaj4dYl3WCo6i6a5KnaPotiQeoCj6MJsEsAhrDQLIDg6SoymySw2k6MgNAqJpQj" +
"OLRLFaUI0iyGxWlq/p6kIPY0m2Oxul2LZjDMRpmgiLoLiaaoIi4YxGinoY7kaauhnuGJlj2b4Lmaeo+m8Sx6mWOZhAubwCj2bpLhqKYJkyKTnECThYgoVJCCiYpPBIL5" +
"xEMLwWjsTQsGcGpGi6XBYkuRQLvcIhCE8DIWDCSZLiKdwqC+MpMjcLZKguXIcjiTJyFOQYnD+TYMmSLZOkmHJ3D6T50AybItiGYJji2MwABAECAg=");
spTreeCube1->PutBackground(EXTREECUBELib::exDateHeader,0x1000000);
spTreeCube1->PutBackground(EXTREECUBELib::exWeeksHeader,RGB(250,250,250));
spTreeCube1->PutBackground(EXTREECUBELib::exDaysHeader,RGB(250,250,250));
spTreeCube1->PutBackground(EXTREECUBELib::exDateTodayUp,0x2000000);
spTreeCube1->PutBackground(EXTREECUBELib::exDateTodayForeColor,RGB(255,255,255));
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutDefaultFaceType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::EnsureVisibleFaceEnum(EXTREECUBELib::exAlwaysVisibleFrontFace | EXTREECUBELib::exFitToEnsureFace));
spTreeCube1->GetFrontFace()->GetFaceCalendar()->PutDate(COleDateTime(2016,1,1,0,00,00).operator DATE());
spTreeCube1->EndUpdate();

32
While navigating the Down/Top faces, I am not able to rotate it. Is it possible (ensure always front face)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->EnsureVisibleFace(EXTREECUBELib::exDownFace,VARIANT_FALSE);
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::EnsureVisibleFaceEnum(EXTREECUBELib::exAlwaysVisibleFrontFace | EXTREECUBELib::exFitToEnsureFace));

31
How can I show a single month only

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutType(EXTREECUBELib::exFaceCalendar);
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = var_Face->GetFaceCalendar();
		var_FaceCalendar->PutDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
		var_FaceCalendar->PutSelDate(var_FaceCalendar->GetDate());
		var_FaceCalendar->PutMinDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
		var_FaceCalendar->PutMaxDate(COleDateTime(2001,1,31,0,00,00).operator DATE());
		var_FaceCalendar->PutFirstWeekDay(EXTREECUBELib::exMonday);
		var_FaceCalendar->PutShowWeeks(VARIANT_FALSE);
		var_FaceCalendar->PutShowNonMonthDays(VARIANT_FALSE);
		var_FaceCalendar->PutShowTodayButton(VARIANT_FALSE);
		var_FaceCalendar->PutMaxMonthX(var_FaceCalendar->GetMinMonthX());
		var_FaceCalendar->PutMaxMonthY(var_FaceCalendar->GetMinMonthY());

30
How can I show date calendar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutType(EXTREECUBELib::exFaceCalendar);
	var_Face->GetFaceCalendar()->PutShowNonMonthDays(VARIANT_FALSE);

29
How can I prevent dbl click to ensure the clicked face is visible
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutEnsureVisibleFaceOnDblClick(VARIANT_FALSE);

28
How can I put a picture into the center of the texture but behind the control's face

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutHTMLPicture(L"logo","c:\\exontrol\\images\\zipdisk.gif");
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutType(EXTREECUBELib::exFaceCalendar);
	var_Face->GetFaceCalendar()->PutShowTodayButton(VARIANT_FALSE);
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceCaption,"<img>logo</img>");
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceAnchor,long(0));
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceHTMLRotate,long(0));
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceHTMLRotate,long(0));
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceLeft,"(width-twidth)/2");
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceTop,"(height-theight)/2");
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceWidth,"twidth");
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceHeight,"theight");
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceVisible,long(1));
spTreeCube1->GetFrontFace()->GetFaceCalendar()->PutForeColor(RGB(255,0,0));
spTreeCube1->EndUpdate();

27
How do I put my logo on the right-bottom side of the face (method 2), while I using the face

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutHTMLPicture(L"logo","c:\\exontrol\\images\\zipdisk.gif");
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutType(EXTREECUBELib::exFaceCalendar);
	var_Face->GetFaceCalendar()->PutShowTodayButton(VARIANT_FALSE);
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceCaption,"<r><img>logo</img>");
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceAnchor,long(2));
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceHTMLRotate,long(0));
spTreeCube1->EndUpdate();

26
Is it possible to show two or more titles/extra titles

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutType(EXTREECUBELib::exFaceCalendar);
	var_Face->GetFaceCalendar()->PutShowTodayButton(VARIANT_FALSE);
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceCaption,"<font ;18><c><fgcolor=0000FF>This is the title");
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceCaption,"<font ;18><c><fgcolor=FF0000>This is the extra title");
	var_Face->PutExtraTitle("extra",EXTREECUBELib::exTitleFaceAnchor,long(2));
spTreeCube1->EndUpdate();

25
How can I display the title at the left side of the face

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceCaption,"<font ;18><c>This is the title");
	var_Face->PutType(EXTREECUBELib::exFaceCalendar);
	var_Face->GetFaceCalendar()->PutShowTodayButton(VARIANT_FALSE);
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceAnchor,long(4));
spTreeCube1->EndUpdate();

24
How can I display the title at the bottom side of the face

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceCaption,"<font ;18><c>This is the title");
	var_Face->PutType(EXTREECUBELib::exFaceCalendar);
	var_Face->GetFaceCalendar()->PutShowTodayButton(VARIANT_FALSE);
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceAnchor,long(2));
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceHTMLRotate,long(0));
spTreeCube1->EndUpdate();

23
Can I display the title to a different position

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceCaption,"<font ;18><c><bgcolor=FFFFFF>This is the title");
	var_Face->PutType(EXTREECUBELib::exFaceCalendar);
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceVisible,long(-1));
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceTop,"(height-theight)/2");
spTreeCube1->EndUpdate();

22
How can I display a title for a face

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutTitle(EXTREECUBELib::exTitleFaceCaption,"<font ;18><c>This is the title");
	var_Face->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->EndUpdate();

21
Can I put the picture at specified position

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutIdentifyFace(EXTREECUBELib::IdentifyFaceEnum(EXTREECUBELib::exIdentifyFaceFrame | EXTREECUBELib::exIdentifyFaceName | EXTREECUBELib::exIdentifyFaceCaption));
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutType(EXTREECUBELib::exFacePicture);
	EXTREECUBELib::IFacePicturePtr var_FacePicture = var_Face->GetFacePicture();
		var_FacePicture->PutPicture(IPictureDispPtr(((IDispatch*)(spTreeCube1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\zipdisk.gif`)")))));
		var_FacePicture->PutPictureDisplay(EXTREECUBELib::Tile);
		var_FacePicture->PutWidth(L"2 * pwidth");
		var_FacePicture->PutHeight(L"2 * pheight");
		var_FacePicture->PutTop(L"122");
		var_FacePicture->PutLeft(L"46");

20
How do I put my logo on the right-bottom side of the face (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutIdentifyFace(EXTREECUBELib::IdentifyFaceEnum(EXTREECUBELib::exIdentifyFaceFrame | EXTREECUBELib::exIdentifyFaceName | EXTREECUBELib::exIdentifyFaceCaption));
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetFrontFace();
	var_Face->PutType(EXTREECUBELib::exFacePicture);
	EXTREECUBELib::IFacePicturePtr var_FacePicture = var_Face->GetFacePicture();
		var_FacePicture->PutPicture(IPictureDispPtr(((IDispatch*)(spTreeCube1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\zipdisk.gif`)")))));
		var_FacePicture->PutPictureDisplay(EXTREECUBELib::LowerRight);
		var_FacePicture->PutWidth(L"width");
		var_FacePicture->PutHeight(L"height");
		var_FacePicture->PutTop(L"0");
		var_FacePicture->PutLeft(L"0");

19
Can I use any picture on the background's faces

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->GetFace(EXTREECUBELib::exFrontFace)->PutPicture(IPictureDispPtr(((IDispatch*)(spTreeCube1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\zipdisk.gif`)")))));
spTreeCube1->GetFace(EXTREECUBELib::exBottomFace)->PutPicture(IPictureDispPtr(((IDispatch*)(spTreeCube1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\auction.gif`)")))));
spTreeCube1->GetFace(EXTREECUBELib::exRightFace)->PutPicture(IPictureDispPtr(((IDispatch*)(spTreeCube1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\colorize.gif`)")))));
spTreeCube1->GetFace(EXTREECUBELib::exLeftFace)->PutPicture(IPictureDispPtr(((IDispatch*)(spTreeCube1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\colorize.gif`)")))));
spTreeCube1->GetFace(EXTREECUBELib::exTopFace)->PutPicture(IPictureDispPtr(((IDispatch*)(spTreeCube1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\auction.gif`)")))));
spTreeCube1->GetFace(EXTREECUBELib::exDownFace)->PutPicture(IPictureDispPtr(((IDispatch*)(spTreeCube1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\zipdisk.gif`)")))));
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::exDisableEnsureVisibleFace);
spTreeCube1->EndUpdate();

18
Is it possible to show the cube's texture more transparent, so the faces are more visible

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutTransparent(80);
spTreeCube1->PutTexturePicturePath(L"C:\\Program Files\\Exontrol\\ExTexture\\Sample\\Texture\\VW");
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::exDisableEnsureVisibleFace);
spTreeCube1->PutIdentifyFace(EXTREECUBELib::exIdentifyFaceFrame);
EXTREECUBELib::IFacePtr var_Face = spTreeCube1->GetTopFace();
	var_Face->PutType(EXTREECUBELib::exFaceCalendar);
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar = var_Face->GetFaceCalendar();
		var_FaceCalendar->PutDate(COleDateTime(2016,2,1,0,00,00).operator DATE());
		var_FaceCalendar->PutMaxMonthX(1);
		var_FaceCalendar->PutMaxMonthY(1);
EXTREECUBELib::IFacePtr var_Face1 = spTreeCube1->GetLeftFace();
	var_Face1->PutType(EXTREECUBELib::exFaceCalendar);
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar1 = var_Face1->GetFaceCalendar();
		var_FaceCalendar1->PutDate(COleDateTime(2016,3,1,0,00,00).operator DATE());
		var_FaceCalendar1->PutMaxMonthX(1);
		var_FaceCalendar1->PutMaxMonthY(1);
EXTREECUBELib::IFacePtr var_Face2 = spTreeCube1->GetFrontFace();
	var_Face2->PutType(EXTREECUBELib::exFaceCalendar);
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar2 = var_Face2->GetFaceCalendar();
		var_FaceCalendar2->PutDate(COleDateTime(2016,4,1,0,00,00).operator DATE());
		var_FaceCalendar2->PutMaxMonthX(1);
		var_FaceCalendar2->PutMaxMonthY(1);
EXTREECUBELib::IFacePtr var_Face3 = spTreeCube1->GetRightFace();
	var_Face3->PutType(EXTREECUBELib::exFaceCalendar);
	EXTREECUBELib::IFaceCalendarPtr var_FaceCalendar3 = var_Face3->GetFaceCalendar();
		var_FaceCalendar3->PutDate(COleDateTime(2016,5,1,0,00,00).operator DATE());
		var_FaceCalendar3->PutMaxMonthX(1);
		var_FaceCalendar3->PutMaxMonthY(1);
spTreeCube1->PutShowAs(EXTREECUBELib::exFishEye);
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::exDisableEnsureVisibleFace);
spTreeCube1->PutIdentifyFace(EXTREECUBELib::exIdentifyFaceFrame);
spTreeCube1->EndUpdate();

17
How can I load a different texture on the cube

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"C:\\Program Files\\Exontrol\\ExTexture\\Sample\\Texture\\VW");

16
How can I show no texture/picture on all faces

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutTexturePicturePath(L"");
spTreeCube1->PutIdentifyFace(EXTREECUBELib::IdentifyFaceEnum(EXTREECUBELib::exIdentifyFaceFrame | EXTREECUBELib::exIdentifyFaceName | EXTREECUBELib::exIdentifyFaceCaption));
spTreeCube1->PutIdentifyFaceCaption(L"<sha ;;0><fgcolor=000000>Face <%index%></font> <%name%>");

15
Fish-Eye Rectangular

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutShowAs(EXTREECUBELib::exFishEye);
spTreeCube1->PutInternals(L"zoommin=1;zoomdefault=1;zoommax=1;zoomdivsmall=256;zoomdivlarge=48;fisheyepersp=4");
spTreeCube1->PutIdentifyFace(EXTREECUBELib::exIdentifyFaceFrame);
spTreeCube1->GetTopFace()->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->GetLeftFace()->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->GetFrontFace()->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->GetRightFace()->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->EndUpdate();

14
Orthographic

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutShowAs(EXTREECUBELib::exOrthographic);
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::exDisableEnsureVisibleFace);
spTreeCube1->PutIdentifyFace(EXTREECUBELib::exIdentifyFaceFrame);
spTreeCube1->GetTopFace()->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->GetLeftFace()->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->GetFrontFace()->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->GetRightFace()->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->PutRotX(0.748933);
spTreeCube1->PutRotY(0.617099);
spTreeCube1->PutZoom(1);
spTreeCube1->EndUpdate();

13
Fish-Eye Default

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->BeginUpdate();
spTreeCube1->PutShowAs(EXTREECUBELib::exFishEye);
spTreeCube1->PutAlwaysEnsureVisibleFace(EXTREECUBELib::exDisableEnsureVisibleFace);
spTreeCube1->PutIdentifyFace(EXTREECUBELib::exIdentifyFaceFrame);
spTreeCube1->GetTopFace()->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->GetLeftFace()->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->GetFrontFace()->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->GetRightFace()->PutType(EXTREECUBELib::exFaceCalendar);
spTreeCube1->PutRotX(0);
spTreeCube1->PutRotY(0.8);
spTreeCube1->PutZoom(1);
spTreeCube1->EndUpdate();

12
I know the user can drag the cube to any position. The question is how can I restore the layout

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutIdentifyFace(EXTREECUBELib::IdentifyFaceEnum(EXTREECUBELib::exIdentifyFaceFrame | EXTREECUBELib::exIdentifyFaceName | EXTREECUBELib::exIdentifyFaceCaption));
spTreeCube1->PutRotX(0.25);
spTreeCube1->PutRotY(0.75);
spTreeCube1->PutZoom(1);

11
How do I put my logo on the right-bottom side of the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREECUBELib' for the library: 'ExTreeCube 1.0 Control Library'

	#import <ExTreeCube.dll>
	using namespace EXTREECUBELib;
*/
EXTREECUBELib::ITreeCubePtr spTreeCube1 = GetDlgItem(IDC_TREECUBE1)->GetControlUnknown();
spTreeCube1->PutPicture(IPictureDispPtr(((IDispatch*)(spTreeCube1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\zipdisk.gif`)")))));