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

with TreeCube1 do
begin
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		LinesAtRoot := EXTREECUBELib_TLB.exLinesAtRoot;
		Columns.Add(1).Alignment := EXTREECUBELib_TLB.LeftAlignment;
		Columns.Add(2).Alignment := EXTREECUBELib_TLB.LeftAlignment;
		Columns.Add(3).Alignment := EXTREECUBELib_TLB.LeftAlignment;
		Items.ToString := '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),C' + 
	'hild 1.2;Child 2.2;Child 3.2)';
		Items.ExpandAll();
		OutputDebugString( Items.Item[OleVariant(0)].ToString );
	end;
end
107:
How can I add a hierarchy (single column), using the Item.ToString method

with TreeCube1 do
begin
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		LinesAtRoot := EXTREECUBELib_TLB.exLinesAtRoot;
		Columns.Add('').Alignment := EXTREECUBELib_TLB.LeftAlignment;
		Items.Count := 1;
		Items.Item[OleVariant(0)].ToString := 'Root(Child1(SubChild 1,SubChild 2),Child2)';
		Items.ExpandAll();
		OutputDebugString( Items.Item[OleVariant(0)].ToString );
	end;
end
106:
How can add items to a list

with TreeCube1 do
begin
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		Columns.Add('Pos').FormatColumn := '1 pos ``';
		Items.Count := TreeCube1.FrontFace.FaceTree.VisibleItemsCount;
	end;
end
105:
How can I split a cell

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	HTMLPicture['P1'] := 'c:\exontrol\images\zipdisk.gif';
	HTMLPicture['P2'] := 'c:\exontrol\images\auction.gif';
	HTMLPicture['P3'] := 'c:\exontrol\images\colorize.gif';
	HTMLPicture['P4'] := 'c:\exontrol\images\auction.gif';
	with FrontFace do
	begin
		with CreateTree() do
		begin
			Columns.Add('Default').Alignment := EXTREECUBELib_TLB.LeftAlignment;
			with Items do
			begin
				with Add('Choose your quick actions') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 48;
						s := 0;
						Value[OleVariant(s)] := '<c><img>P1</img>';
						CellWidth[OleVariant(s)] := 48;
						HasButton[OleVariant(s)] := True;
						s := SplitCell[OleVariant(s)];
						Value[OleVariant(s)] := '<c><img>P2</img>';
						CellWidth[OleVariant(s)] := 48;
						HasButton[OleVariant(s)] := True;
						s := SplitCell[OleVariant(s)];
						Value[OleVariant(s)] := '<c><img>P3</img>';
						CellWidth[OleVariant(s)] := 48;
						HasButton[OleVariant(s)] := True;
						s := SplitCell[OleVariant(s)];
						Value[OleVariant(s)] := '<c><img>P4</img>';
						CellWidth[OleVariant(s)] := 48;
						HasButton[OleVariant(s)] := True;
						s := SplitCell[OleVariant(s)];
					end;
					Expanded := True;
				end;
			end;
		end;
	end;
	EndUpdate();
end
104:
I've noticed that the Face has no background color. Still, can I change the face's background color

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	with FrontFace do
	begin
		with CreateCalendar() do
		begin
			AutoSize := EXTREECUBELib_TLB.exFitClient;
			MaxMonthX := MinMonthX;
			MaxMonthY := MinMonthY;
			ShowTodayButton := False;
		end;
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceBackColor] := OleVariant(15790320);
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceHeight] := 'height';
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceVisible] := OleVariant(1);
	end;
	EndUpdate();
end
103:
How can I change the +/- expanding/collapsing buttons

with TreeCube1 do
begin
	TexturePicturePath := '';
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAADhABDgCg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXI' + 
	'UBxAAqXZZFUaKAgOMJDTLBAzUSAAYhtHqeJBjID4JA6UJXRpIAIQSSBUjGOg6TiMUYZAguAxCEzZUT0fAYUQSCC3ZzDCKoRpiCT7Xg8V5OVbjUz9P7AMBwLA7erxap6P' + 
	'JeD54QymGp/R5eMhyLI8UxXFqRY6veKtJhGDIrT5CEIQVA9EyXJqnahqOiaCguPorQy/dYYdg2BYBPS6MAvG4bVrOd59XrgN42fY2ByzAqlMQwS7rOqiY6YWTnehWToH' + 
	'E+JZUmoLB5CufQuAkBYkGO+ZrDWAo7keZZyHmH5+i8X4bluaJyHgGB9mQHx3JjBpViqJRHmueZ7H8Xo3i2fYAl+d5tncMRfDcdZeDMDIjCCJwokoEoQiEJ4KCIfIdgUS' + 
	'ZIAWaoGCEUh2BIJ4gnKBgMDICAnHoCggg0Aw4k0KAJkIagaguYwIj4LAmiKEw2CUIIiHMUJSDQSYyGCFYMGQCJCD0JRjiMRg3gmTYjGSVgmgkchSD4JJklIRIXCSSQYj' + 
	'4U4UgkQhGE+EwJEkJJWhGpgGGIOBNmMdhPg8SRiHCGAlibNhohqJpJi4T4ZA2WYIgEYInGOGJlDkCQyECDoTEkKQ+E+C5oCIVhQCUCQpnSDoeg4SZZH8YdhjibQ7AiUg' + 
	'kgcJFyiyEYmGmOhqhyJ5pmILoYCKaRSB6Eg7CcZgZggaRqHqNoTiuDpKkKMormsQ4xiUYgYiKEo6CCWgWiqPovloZoGjoKQYiOLR1ECUAQIC');
		Add(2,'gBFLBCJwBAEHhEJAADhABDwCg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXI' + 
	'UBxAAqXZZFUaKAgOMJDTLBAzUSAAYhtHqeJBjID4JA6UJXRpIAIQSSBUjGOg6TiMUYZAguAxCEzZUT0fAYUQSCC3ZzDCKoRpiCT7Xg8V5OVbjUz9P7AMBwLA7erxap6P' + 
	'JeD54QymGp/R5eMhyLI8UxXFqRY6veKtJhGDIrT5CEIQVA9EyXJqnahqOiaCguPorQy/dYYdg2BYBPS6MAvG4bVrOd59XrgN42fY2ByzAqlMQwS7rOqiY6YWTnehWToH' + 
	'E+JZUmoLB5CufQuAkBYkGO+ZrDWAo7keZZyHmPQ+g8X4fluYBhneEB9l0Iwpg6RRWiqFQfg+V5nnefh/GAB5yAIfRMFeRZdHeDJDCiSApkoMoEiQKBJmKCIfCcYQiHIF' + 
	'YFkmeBaBOA5JmgsICEyAgJl6AZICMQJODMSgCHCGg/mKSI2C6C5jAiNgpCaIhjDYIggiIQxQlINBJjIYIVgwZAJAYPQlGOIxGDeCQNiMZJWCaCRyFIPgkmSUhEhcJJlC' + 
	'kUhThUZQiFCEYTmSQhSEkNYkHYBIBhiTgTHiXYTmOUhYhwJgJGmJhuhsJoZi4bYbCSeYUl2GJIBYCh4DmDhThCEwkAiaQ0hKE5oEIVITiEaB6BqAofkiaZwmSHgXnYGh' + 
	'4DuDpTjCDQiEgchAg0IpJBobodicKZqgaIAimmIguhcIZpEOMh4GGGIGhaKYrmkWpAmyLIrEqRo2DsGhWCGCgpCuQgNiEaosAsBYmGga5ChGCg6lcVANAEgI');
	end;
	Background[EXTREECUBELib_TLB.exTreeGlyphCollapsed] := $1000000;
	Background[EXTREECUBELib_TLB.exTreeGlyphExpanded] := $2000000;
	with FrontFace.CreateTree() do
	begin
		ExpandOnDblClick := True;
		ItemPadding := 16;
		HeaderVisible := False;
		HasLines := EXTREECUBELib_TLB.exThinLine;
		LinesAtRoot := EXTREECUBELib_TLB.exGroupLinesInside;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		Columns.Add('Def').Alignment := EXTREECUBELib_TLB.LeftAlignment;
		Items.ToString := 'Root 1(Child 1,Child 2),Root 2(Child 3,Child 4)';
		ItemByIndex[3].Expanded := True;
	end;
	EndUpdate();
end
102:
How can I use the ToString property

with TreeCube1 do
begin
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		Columns.ToString := 'Column 1,Column 2,Column 3,Column 4';
		Items.ToString := '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';
	end;
end
101:
How can I use the Background property

with TreeCube1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'C:\Program Files\Exontrol\ExButton\Sample\EBN\Assorted\calendar_single.ebn');
	Background[EXTREECUBELib_TLB.exDateHeader] := $1000000;
	Background[EXTREECUBELib_TLB.exWeeksHeader] := $fafafa;
	Background[EXTREECUBELib_TLB.exDaysHeader] := $fafafa;
	Background[EXTREECUBELib_TLB.exDateTodayUp] := $2000000;
	Background[EXTREECUBELib_TLB.exDateTodayForeColor] := $ffffff;
	TexturePicturePath := '';
	with FrontFace.CreateCalendar() do
	begin
		Date := '1/1/2016';
		AutoSize := EXTREECUBELib_TLB.exFitClient;
		MaxMonthX := MinMonthX;
		MaxMonthY := MinMonthY;
	end;
	EndUpdate();
end
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.
procedure TForm1.TreeCube1FaceTreeStateChanged(ASender: TObject; Tree : IFaceTree;Item : Integer;Column : Integer);
begin
	with TreeCube1 do
	begin
		with FrontFace.FaceTree.ItemByIndex[Item] do
		begin
			OutputDebugString( 'State' );
			OutputDebugString( State[OleVariant(0)] );
		end;
	end
end;

with TreeCube1 do
begin
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		HeaderVisible := False;
		ItemPadding := 16;
		DrawGridLines := EXTREECUBELib_TLB.exNoLines;
		Columns.Add('Radio').Alignment := EXTREECUBELib_TLB.LeftAlignment;
		with Items do
		begin
			with Add('Group A') do
			begin
				with Items do
				begin
					with Add('Radio <b>1') do
					begin
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1234;
					end;
					with Add('Radio <b>2') do
					begin
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1234;
						State[OleVariant(0)] := 1;
					end;
					with Add('Radio <b>3') do
					begin
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1234;
					end;
				end;
				Expanded := True;
			end;
			with Add('Group B') do
			begin
				with Items do
				begin
					with Add('Radio <b>1') do
					begin
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1235;
					end;
					with Add('Radio <b>2') do
					begin
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1235;
					end;
					with Add('Radio <b>3') do
					begin
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1235;
						State[OleVariant(0)] := 1;
					end;
				end;
				Expanded := True;
			end;
		end;
	end;
end
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.
procedure TForm1.TreeCube1FaceTreeStateChanged(ASender: TObject; Tree : IFaceTree;Item : Integer;Column : Integer);
begin
	with TreeCube1 do
	begin
		with FrontFace.FaceTree.ItemByIndex[Item] do
		begin
			OutputDebugString( 'State' );
			OutputDebugString( State[OleVariant(0)] );
		end;
	end
end;

with TreeCube1 do
begin
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		HeaderVisible := False;
		ItemPadding := 16;
		DrawGridLines := EXTREECUBELib_TLB.exNoLines;
		Columns.Add('Check').Alignment := EXTREECUBELib_TLB.LeftAlignment;
		with Items do
		begin
			Add('Check <b>1').HasCheckBox[OleVariant(0)] := True;
			Add('Check <b>2').HasCheckBox[OleVariant(0)] := True;
			with Add('Check <b>3') do
			begin
				HasCheckBox[OleVariant(0)] := True;
				State[OleVariant(0)] := 1;
			end;
			Add('Check <b>4').HasCheckBox[OleVariant(0)] := True;
		end;
	end;
end
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.
procedure TForm1.TreeCube1FaceTreeSelectionChanged(ASender: TObject; Tree : IFaceTree);
begin
	with TreeCube1 do
	begin
		OutputDebugString( 'Value' );
		OutputDebugString( FrontFace.FaceTree.Value );
		OutputDebugString( 'Caption' );
		OutputDebugString( FrontFace.FaceTree.Caption );
	end
end;

with TreeCube1 do
begin
	TexturePicturePath := '';
	with FrontFace do
	begin
		with CreateTree() do
		begin
			ItemPadding := 20;
			Columns.Count := 5;
			HeaderVisible := False;
			Items.Count := TreeCube1.FrontFace.FaceTree.VisibleItemsCount;
			Columns.Item[OleVariant(0)].FormatColumn := '(0:=(1989 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Columns.Item[OleVariant(1)].FormatColumn := '(0:=(1990 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Columns.Item[OleVariant(2)].FormatColumn := '(0:=(1991 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Columns.Item[OleVariant(3)].FormatColumn := '(0:=(1992 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Columns.Item[OleVariant(4)].FormatColumn := '(0:=(1993 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
		end;
	end;
end
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.
procedure TForm1.TreeCube1FaceTreeSelectionChanged(ASender: TObject; Tree : IFaceTree);
begin
	with TreeCube1 do
	begin
		OutputDebugString( 'Value' );
		OutputDebugString( FrontFace.FaceTree.Value );
		OutputDebugString( 'Caption' );
		OutputDebugString( FrontFace.FaceTree.Caption );
	end
end;

with TreeCube1 do
begin
	TexturePicturePath := '';
	with FrontFace do
	begin
		with CreateTree() do
		begin
			ItemPadding := 20;
			Columns.Count := 5;
			HeaderVisible := False;
			Items.Count := TreeCube1.FrontFace.FaceTree.VisibleItemsCount;
			Columns.Item[OleVariant(0)].FormatColumn := '(0:=(1989 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Columns.Item[OleVariant(1)].FormatColumn := '(0:=(1990 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Columns.Item[OleVariant(2)].FormatColumn := '(0:=(1991 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Columns.Item[OleVariant(3)].FormatColumn := '(0:=(1992 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Columns.Item[OleVariant(4)].FormatColumn := '(0:=(1993 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
		end;
	end;
end
96:
How can I add buttons on the face

// FaceTreeButtonClick event - Notifies that a cell of button's type has been clicked.
procedure TForm1.TreeCube1FaceTreeButtonClick(ASender: TObject; Tree : IFaceTree;Item : Integer;Column : Integer);
begin
	with TreeCube1 do
	begin
		OutputDebugString( Item );
		OutputDebugString( Column );
	end
end;

with TreeCube1 do
begin
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		DrawGridLines := EXTREECUBELib_TLB.exNoLines;
		ItemPadding := 16;
		with Columns.Add('Buttons') do
		begin
			FormatColumn := '1 index `A-Z`';
			Def[EXTREECUBELib_TLB.exCellHasButton] := OleVariant(True);
		end;
		Items.Count := 4;
	end;
end
95:
How do I programmatically selects a date (method 2)
with TreeCube1 do
begin
	with FrontFace.CreateCalendar() do
	begin
		Value := 'Jan 21';
	end;
end
94:
How do I programmatically selects a date (method 1)
with TreeCube1 do
begin
	with FrontFace.CreateCalendar() do
	begin
		Date := '1/1/2001';
		SelDate := Date;
	end;
end
93:
How can I display a hyperlink element
// AnchorClick event - Occurs when an anchor element is clicked.
procedure TForm1.TreeCube1AnchorClick(ASender: TObject; Face : FaceEnum;AnchorID : WideString;Options : WideString);
begin
	with TreeCube1 do
	begin
		OutputDebugString( Face );
		OutputDebugString( AnchorID );
		OutputDebugString( Options );
	end
end;

with TreeCube1 do
begin
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		HeaderVisible := False;
		DrawGridLines := EXTREECUBELib_TLB.exNoLines;
		Items.ToString := '<a A1\;options1>Item 1</a>,<a A2\;options2>Item 2</a>';
	end;
end
92:
Can I display image and multiple-lines items

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	HTMLPicture['DriveC'] := 'c:\exontrol\images\zipdisk.gif';
	HTMLPicture['DriveD'] := 'c:\exontrol\images\auction.gif';
	HTMLPicture['DriveE'] := 'c:\exontrol\images\colorize.gif';
	with TopFace do
	begin
		RelativeMargins := '0,32,0,0';
		with CreateTree() do
		begin
			HasLines := EXTREECUBELib_TLB.exNoLine;
			DrawGridLines := EXTREECUBELib_TLB.exNoLines;
			ItemPadding := 24;
			HeaderVisible := False;
			ShowSelection := True;
			SelBackColor := $f0f0f0;
			Columns.Add('Default').Alignment := EXTREECUBELib_TLB.LeftAlignment;
			with Items do
			begin
				with Add('Storage') do
				begin
					Divider := 0;
					Bold := True;
					Selectable := False;
				end;
				with Add('Choose a drive to see what''s taking up space.') do
				begin
					Selectable := False;
					SingleLine[OleVariant(0)] := False;
					with Items.Add('<img>DriveC:64</img>') do
					begin
						Height := 68;
						BackgroundExt[OleVariant(0)] := 'none[(76,4,100%-76,100%-8)](client[text=``],bottom[16,back=RGB(204,204,204)](left[0%,back=RGB(0,120,215)]))';
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExtWordWrap] := OleVariant(True);
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExt] := '<fgcolor=000000>LROG (C:)<br>58.7 GB used out of 150 GB';
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt] := '39%';
					end;
					with Items.Add('<img>DriveD:64</img>') do
					begin
						Height := 68;
						BackgroundExt[OleVariant(0)] := 'none[(76,4,100%-76,100%-8)](client[text=``],bottom[16,back=RGB(204,204,204)](left[0%,back=RGB(0,120,215)]))';
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExtWordWrap] := OleVariant(True);
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExt] := '<fgcolor=000000>System (D:)<br>112 MB used out of 144 GB';
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt] := '1%';
					end;
					with Items.Add('<img>DriveD:64</img>') do
					begin
						Height := 68;
						BackgroundExt[OleVariant(0)] := 'none[(76,4,100%-76,100%-8)](client[text=``],bottom[16,back=RGB(204,204,204)](left[0%,back=RGB(0,120,215)]))';
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExtWordWrap] := OleVariant(True);
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExt] := '<fgcolor=000000>Work (E:)<br>53.0 GB used out of 635 GB';
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt] := '8%';
					end;
					with Items.Add('<img>DriveE:64</img>') do
					begin
						Height := 68;
						BackgroundExt[OleVariant(0)] := 'none[(76,4,100%-76,100%-8)](client[text=``],bottom[16,back=RGB(204,204,204)](left[0%,back=RGB(0,120,215)]))';
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExtWordWrap] := OleVariant(True);
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExt] := '<fgcolor=000000>DVD RW Drive (G:)<br>0.0 GB used out of 0.0 GB';
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt] := '0%';
					end;
					Expanded := True;
				end;
				with Add('Save Locations') do
				begin
					Divider := 0;
					Bold := True;
					Selectable := False;
				end;
				with Add('Change where your apps, documents, music, pictures and videos are saved by default.') do
				begin
					Selectable := False;
					SingleLine[OleVariant(0)] := False;
					with Items.Add('New apps will save to:') do
					begin
						Selectable := False;
						with Items.Add('Drive C') do
						begin
							Selectable := False;
							Height := 24;
							HasRadioButton[OleVariant(0)] := True;
							RadioGroup[OleVariant(0)] := 1234;
							State[OleVariant(0)] := 1;
							s := SplitCell[OleVariant(0)];
							Value[OleVariant(s)] := 'Drive D';
							HasRadioButton[OleVariant(s)] := True;
							RadioGroup[OleVariant(s)] := 1234;
							s := SplitCell[OleVariant(s)];
							Value[OleVariant(s)] := 'Drive E';
							HasRadioButton[OleVariant(s)] := True;
							RadioGroup[OleVariant(s)] := 1234;
						end;
						Expanded := True;
					end;
					with Items.Add('New documents will save to:') do
					begin
						Selectable := False;
						with Items.Add('Drive C') do
						begin
							Selectable := False;
							Height := 24;
							HasRadioButton[OleVariant(0)] := True;
							RadioGroup[OleVariant(0)] := 1235;
							s := SplitCell[OleVariant(0)];
							Value[OleVariant(s)] := 'Drive D';
							HasRadioButton[OleVariant(s)] := True;
							RadioGroup[OleVariant(s)] := 1235;
							State[OleVariant(s)] := 1;
							s := SplitCell[OleVariant(s)];
							Value[OleVariant(s)] := 'Drive E';
							HasRadioButton[OleVariant(s)] := True;
							RadioGroup[OleVariant(s)] := 1235;
						end;
						Expanded := True;
					end;
					with Items.Add('New music will save to:') do
					begin
						Selectable := False;
						with Items.Add('Drive C') do
						begin
							Selectable := False;
							Height := 24;
							HasRadioButton[OleVariant(0)] := True;
							RadioGroup[OleVariant(0)] := 1236;
							s := SplitCell[OleVariant(0)];
							Value[OleVariant(s)] := 'Drive D';
							HasRadioButton[OleVariant(s)] := True;
							RadioGroup[OleVariant(s)] := 1236;
							State[OleVariant(s)] := 1;
							s := SplitCell[OleVariant(s)];
							Value[OleVariant(s)] := 'Drive E';
							HasRadioButton[OleVariant(s)] := True;
							RadioGroup[OleVariant(s)] := 1236;
						end;
						Expanded := True;
					end;
					with Items.Add('New pictures will save to:') do
					begin
						Selectable := False;
						with Items.Add('Drive C') do
						begin
							Selectable := False;
							Height := 24;
							HasRadioButton[OleVariant(0)] := True;
							RadioGroup[OleVariant(0)] := 1237;
							s := SplitCell[OleVariant(0)];
							Value[OleVariant(s)] := 'Drive D';
							HasRadioButton[OleVariant(s)] := True;
							RadioGroup[OleVariant(s)] := 1237;
							State[OleVariant(s)] := 1;
							s := SplitCell[OleVariant(s)];
							Value[OleVariant(s)] := 'Drive E';
							HasRadioButton[OleVariant(s)] := True;
							RadioGroup[OleVariant(s)] := 1237;
						end;
						Expanded := True;
					end;
					with Items.Add('New videos will save to:') do
					begin
						Selectable := False;
						with Items.Add('Drive C') do
						begin
							Selectable := False;
							Height := 24;
							HasRadioButton[OleVariant(0)] := True;
							RadioGroup[OleVariant(0)] := 1238;
							s := SplitCell[OleVariant(0)];
							Value[OleVariant(s)] := 'Drive D';
							HasRadioButton[OleVariant(s)] := True;
							RadioGroup[OleVariant(s)] := 1238;
							State[OleVariant(s)] := 1;
							s := SplitCell[OleVariant(s)];
							Value[OleVariant(s)] := 'Drive E';
							HasRadioButton[OleVariant(s)] := True;
							RadioGroup[OleVariant(s)] := 1238;
						end;
						Expanded := True;
					end;
					Expanded := True;
				end;
			end;
			EnsureVisibleItem(0);
		end;
	end;
	EnsureVisibleFaceMargin := 0;
	EnsureVisibleFace(EXTREECUBELib_TLB.exTopFace,Null);
	AlwaysEnsureVisibleFace := EXTREECUBELib_TLB.exFitToEnsureFace;
	EndUpdate();
end
91:
How can I use the BackgroundExt/BackgroundExtValue properties

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	with BottomFace do
	begin
		RelativeMargins := '0,32,0,0';
		Title[EXTREECUBELib_TLB.exTitleFaceCaption] := '<c><font ;18>Battery Saver';
		Title[EXTREECUBELib_TLB.exTitleFaceBackgroundExt] := 'bottom[2],bottom[4,back=RGB(0,0,0)]';
		with CreateTree() do
		begin
			HasLines := EXTREECUBELib_TLB.exNoLine;
			DrawGridLines := EXTREECUBELib_TLB.exNoLines;
			ItemPadding := 24;
			HeaderVisible := False;
			ShowSelection := False;
			Columns.Add('Default').Alignment := EXTREECUBELib_TLB.LeftAlignment;
			with Items do
			begin
				with Add('Overview') do
				begin
					Divider := 0;
					Bold := True;
				end;
				with Add('Batter level (charging):') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						BackgroundExt[OleVariant(0)] := '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)]))';
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt] := '65%';
						BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExt] := BackgroundExtValue[OleVariant(0),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt];
					end;
					Expanded := True;
				end;
				with Add('Estimated time to full charge:') do
				begin
					with Items.Add(OleVariant(0.15125)) do
					begin
						FormatCell[OleVariant(0)] := '((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)'' : '''')';
						Height := 24;
					end;
					Expanded := True;
				end;
				with Add('Battery Saver') do
				begin
					Divider := 0;
					Bold := True;
				end;
				with Add('Extends battery life by limiting background activity and push notifications. ') do
				begin
					SingleLine[OleVariant(0)] := False;
				end;
				with Add('Batter saver is currently:') do
				begin
					Enabled := False;
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 24;
						HasCheckBox[OleVariant(0)] := True;
						State[OleVariant(0)] := 2;
						FormatCell[OleVariant(0)] := 'state = 1 ? `On` : `Off`';
						Enabled := False;
					end;
					Expanded := True;
				end;
				Add('Battery Saver is off while charging.  Choose, when battery saver turns on automatically and how it affects your system.').SingleLine[OleVariant(0)] := False;
				with Add('<c>Battery Saver Settings') do
				begin
					SingleLine[OleVariant(0)] := False;
					HasButton[OleVariant(0)] := True;
				end;
			end;
		end;
	end;
	EnsureVisibleFaceMargin := 0;
	EnsureVisibleFace(EXTREECUBELib_TLB.exBottomFace,Null);
	AlwaysEnsureVisibleFace := EXTREECUBELib_TLB.exFitToEnsureFace;
	EndUpdate();
end
90:
How can I change the visual appearance for check and radio buttons

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	CheckBoxWidth := 44;
	CheckBoxHeight := 20;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAADhABJACg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIxDFIsBxPFKCQChEZBUjKAwyDBIUzSDI' + 
	'UBhZBIKI7hGa3NBwJAAUTRch0j4iCRQGiYZyHKcxMYgIYCUBkERtMw0GyERQhGb4DoGA4IBhFZQVVLsRBIDh2bbuG4LSrWdJ3OyaN5EbbgZz9P7AMBwLA8EwXBqHYIUG' + 
	'JGbhlbTnR7HMhvDIsPDnFqIZhmOZZXjlfh7T7KNByO6LcI3AiDagtWpNTpjf5dV7YNh2LY9UzXNq3bI1W5aUqyAZ9QQpeB0LILYDbRp/FzyO5NNrHG6dZ7oOh1doOUIt' + 
	'laP5lgcPA7hEJ47H8SD0l4LwfhOSJ9nOIh9DefBREMKYMDaX59nsVhvlKdBpCGfgIl+L43lGG5lH+YAGlWZw/EYOAVH8ZQXncdBJDwIJGkiGYDlmUh2BKABhEgVJpgWX' + 
	'4BA4BxcAeWB1H8KJiAaSJJgiWZWAmVA0CEWIln8JYikWfZpCIXARE0fw3GMRpJnaCRYBGWg6gqI5HgoJxfkYCQFlkX5PhkFYyBAJIImGABpGOWQ1k8OxlAWfZ6BGJA1n' + 
	'oRQ+GQeQmEoX4kkkOheG2JQDjYUh+iMGJODUbBjHkbAzg6BxpH4bhsmOdZ6EEGAbmIAR/gSCZWkmfYShwYJYlOH5mnoBYvCSaBFnyDYhlcKAll2AwPAaSggCiWZaD6Ao' + 
	'giEc4mBmBpYnePZxGMHw3lUeoGGUN5aH8NJpDoBgDgERg6GGFICh2d4GiWK5cngDgvHqWInG0cIfFyBwpjqLArkcTZVHWV5nGaNhxA6VoVicahajaNo9gUHI2nIdRwBw' + 
	'JoOkSMJlFmKpWjWWY2HwPYwm2SxJHIe5sGsYpiGcXpHj6XYxA6NBFAkQBAIC');
		Add(2,'gBFLBCJwBAEHhEJAADhABB4Cg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIxDFIsBxPFKCQChEZBUjKAwyDBIUzSDI' + 
	'UBhZBIKI7hGa3NBwJAAUTRch0j4iCRQGiYZyHKcxMYgIYCUBkERtMw0GyERQhGb4DoGA4IBhFZQVVLsRBIDh2bbuG4LSrWdJ3Oy3KKiQy5cABPq/b6wDA8CwXAaHYRiG' + 
	'DYThmF4dRQAG6RcTLWrPFqVZheGYua4CLBxRrINA0LD9DyHJKnaZkDgpUQGN5dTS4GwPQCN3xRWzUyBaQzJfAZV7Lbw3PadX4XRLHcLwfAXFqWaaNZLneh5DouDz3P5Y' + 
	'MuaRBicQ4nl6bpuBwKYRnuUY2jsfg9B0b43hOH5KjucQPnwOpMi+A4pnab5qB0a4znuf57n4f5gAeeJqC4R42mEcg5AoIRBnUfggkgLJiCaRA4AYEoEl+Y4AhcDpaFOG' + 
	'IrBgDYyBwHICmIB5djge4hEilY8g0MotiUZICkMYB6AEIgYDYIh0g+Q5cm+CYjgOfJ6DuDZ2hSWggkESI6DCDJjCkFZDg0Yx4mYJYOmOVoiD8BQhlgfhEgwZRGBoJISy' + 
	'0IgqGoIpDhCJAVCUWQaFMY5fAkYgBD+D5TmyYAlENPBnCsRhFkoYYcmYMAAmkLRHDmGZ9h2Rw4BkeBnFmeZWHSGIYHeQZuHoHonjGboamaVwYmIJwEEYbZNiCaRKAmdx' + 
	'1hyNZChWIQpjcKZYHAKQ6FqHIoh0Vp6hkcBqgoAodikKgmi2LYnmsCohkAXoXkqMojgMIpKh2Gw6lEFAlAEgIA==');
	end;
	Background[EXTREECUBELib_TLB.exCheckBoxState0] := $1000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState1] := $2000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState2] := $1f0f0f0;
	RadioButtonWidth := 23;
	RadioButtonHeight := 23;
	with VisualAppearance do
	begin
		Add(3,'gBFLBCJwBAEHhEJAADhABNoCg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSFI' + 
	'ADRfFoWmxTdAcYSCGSZZrGOiQADIM40R7UAABPBNKR1BKmHZDQRAApqXIjVDAYIQSSBUlkHScRijDICXSIIQmbajIZoJCiVZ3VaGETnRQlJQuEgOHZwDAsBwPBqBPziL' + 
	'p4WzmGqhR5ichYHI8RYVTKXYy3DxZW7OO4PQjQM7hHL8fwlfTuagyGpZOxjP5cdrYHw2J7NUzJeDxbhrTb6Zh7ILVX7TNIwXAdD4PIKmNryORsC4XG5pZ7oOh6Lo3G4r' + 
	'hWZI2nOL4eBON4LkeRJvHWDxvB6G5Lmac56D0OY3hMU5bm6bRoiAeA9DMX5riydJ+D8P4vEeO4xkEcQfCYBZrHKXgzlme4BmCB4eAUZRbAaAZeGsDg4EYCYEmERoaBEO' + 
	'JaiMIY2EIXo2FYFYHmIBp1j8OoQhcYZNDiIgIiYE4Jl2BAlj0agOmiKgyH6Xo2jECYGE8WJmDODpehgFgZEIXI3DyfoQmQSQWEaEZkgkJhKhKZA2hmSxCEyGREnSFJkk' + 
	'kVhWwCCAthFKRjiIXhpiXOhihGYwJESSRCFuIxqGoPomkmDhuhWT45kSXYcl8UxdAkbgPBaMhTD0JApj4foRBoaJ5iqAxdmadhzDcWxpgIf4bhsY4Gg6GYYDcegNGUYg' + 
	'6VMIsBBmNg8CmRwuCOJBgBaAgXh6JQzl6JocE+OQQn+KpqkqNouivgQiiaLJPHaMZYHwQAHHIdRrA6ep2jMbYqx2RxzmqBpajOLxOnacYPHcHZnHGOlynmbo0jSbRLFa' + 
	'JoJlyNpplyKArhcGZcgMWpGjCXo4liM4ukiHpngkeJojiTZphmLIDG2Nwak2N4vEaAJsj2bpLgWFxlGGExOn4dgvHOMpxGgbwkAyaxEFCFAEICA=');
		Add(4,'gBFLBCJwBAEHhEJAADhABCEMACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSFI' + 
	'ADRfFoWmxTdAcYSCGSZZrGOiQADINI0R7UAABPBIMSjAamHZDQRAApqXIjVaAhySQKksg6TiMUYZAbaRBCEzbUZDNBIopUQLVU5ABbUEqBIipIrEQLHNwPBaEYZiOIYW' + 
	'5re4cfzIMhyLI8Ob3CqHZhleTwTjWGYvSp1dBbTQ2QyVRanMDqOjsKxmW5Gbh5NhfHY8dxnDKcZ5jGSudrjEZ9VpmG74JzeEbjRj8chxT4PDxnBK/YDSWgdLo8VzXBpc' + 
	'G2MY4maXxzFKQRxHgOQeC8H4TkuZhzHoNR9kaXpNnONZsGGMo9B4A5bmuFZ7n4Pw/i+XpFmSVB/mAB41hsQJfBYOJXgGXAHm4CoCmCtYAHqXRWBGWB/F2Z5UnaAxZFOa' + 
	'J2DuTpzHCOQ5gwcg8veDBjlCaA0mGBg6BYapcEONZiHYHADg4MoKE+U4QkEIINAISAig4Y44moPIPA4EpoHSBoOngNgyDiW5jCGShCF+VouA2EQNhKHBMg+Y5pFYPYVm' + 
	'OQxYiAD4kEgNZRHSTokCWax4A4KA2DaDglGkUhYhoZRph4DYZB6NAllEbwOmgKhEhqJ4JjIa4ek8c48mGAoflcAQJhITxaBYCoHEuGZmHuIooioIgKgWJIUCWXh4hkNh' + 
	'ImkM4JloMh6iaJRzhySAkCkVhFhUd4QhMJomD0KtvBCCJMGocouh6KIKiifoKlodAmAAOgrgYVoVD7Y5AlMJhDAqPoLh6D4DkCYosicSoYkkQhcmMapOD6LQKkqHgkCw' + 
	'KhwmILpHFqSJ7jaTZbHYBw1lCFwwnEcAqgOUoUGSa5DxkLQGHsVhWhQRJKkmFYkBuaI1lgdBtlMdZKi6LoKnSZQwggOp+kGJpjiufIDiyGQXCiYZCmyJxeAQYQi0YYI+' + 
	'lieoqmmKwpHIdoskIGQGFWSg8DIBx6GCQ4AAYXhHjlo5fCqNpPjYRJ/kucwMkcMpM9GMwqk2Tx3AGa4AnIVpkm2N5cAgcJvk2XIsjGeYlF53hKk2dAnEGJR7nCdxlgYc' + 
	'4ajmEplk4NYNGcWpKiYRx5k4dYhC0RxggsTpXAGQA3jaBoEmuUIuFuCo4DoNoDHqShwCKXYPCSXYzmOMx6lwOwZoawrgkE0HwBY1xegdE2MMWQhBOhoEUBIQAgCAgA==' + 
	'');
	end;
	Background[EXTREECUBELib_TLB.exRadioButtonState0] := $3000000;
	Background[EXTREECUBELib_TLB.exRadioButtonState1] := $4000000;
	with RightFace do
	begin
		RelativeMargins := '0,32,0,0';
		Title[EXTREECUBELib_TLB.exTitleFaceCaption] := '<c><font ;18>Table mode';
		Title[EXTREECUBELib_TLB.exTitleFaceBackgroundExt] := 'bottom[2],bottom[4,back=RGB(0,0,0)]';
		with CreateTree() do
		begin
			HasLines := EXTREECUBELib_TLB.exNoLine;
			DrawGridLines := EXTREECUBELib_TLB.exNoLines;
			ItemPadding := 24;
			HeaderVisible := False;
			ShowSelection := False;
			Columns.Add('Default').Alignment := EXTREECUBELib_TLB.LeftAlignment;
			with Items do
			begin
				with Add('Make windows more touch-friendly when using your device as a table') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 24;
						HasCheckBox[OleVariant(0)] := True;
						State[OleVariant(0)] := 0;
						FormatCell[OleVariant(0)] := 'state = 0 ? `Off` : `On`';
					end;
					Expanded := True;
				end;
				with Add('When I sign in') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('Automatically swicth to table mode') do
					begin
						Height := 24;
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1234;
					end;
					with Items.Add('Go to the desktop') do
					begin
						Height := 24;
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1234;
					end;
					with Items.Add('Remember what I used last') do
					begin
						Height := 24;
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1234;
						State[OleVariant(0)] := 1;
					end;
					Expanded := True;
				end;
				with Add('When this device automatically switches table mode on or off') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('Don''t ask me and dont'' switch') do
					begin
						Height := 24;
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1235;
					end;
					with Items.Add('Always ask me before switching') do
					begin
						Height := 24;
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1235;
						State[OleVariant(0)] := 1;
					end;
					with Items.Add('Don''t ask me and always'' switch') do
					begin
						Height := 24;
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1235;
					end;
					Expanded := True;
				end;
				with Add('Hide app icons on the taskbar in table mode') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 24;
						HasCheckBox[OleVariant(0)] := True;
						State[OleVariant(0)] := 0;
						FormatCell[OleVariant(0)] := 'state = 0 ? `Off` : `On`';
					end;
					Expanded := True;
				end;
			end;
		end;
	end;
	EnsureVisibleFaceMargin := 0;
	EnsureVisibleFace(EXTREECUBELib_TLB.exRightFace,Null);
	AlwaysEnsureVisibleFace := EXTREECUBELib_TLB.exFitToEnsureFace;
	EndUpdate();
end
89:
How can I display more group of radio-buttons

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	with LeftFace do
	begin
		RelativeMargins := '0,32,0,0';
		Title[EXTREECUBELib_TLB.exTitleFaceCaption] := '<c><font ;18>Multitasking';
		Title[EXTREECUBELib_TLB.exTitleFaceBackgroundExt] := 'bottom[2],bottom[4,back=RGB(0,0,0)]';
		with CreateTree() do
		begin
			HasLines := EXTREECUBELib_TLB.exNoLine;
			DrawGridLines := EXTREECUBELib_TLB.exNoLines;
			ItemPadding := 24;
			HeaderVisible := False;
			ShowSelection := False;
			Columns.Add('Default').Alignment := EXTREECUBELib_TLB.LeftAlignment;
			with Items do
			begin
				with Add('Snap') do
				begin
					Divider := 0;
					Bold := True;
				end;
				with Add('Arrange windows automatically by dragging them to the sides of corners of the scree') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 24;
						HasCheckBox[OleVariant(0)] := True;
						State[OleVariant(0)] := 1;
						FormatCell[OleVariant(0)] := 'state = 0 ? `Off` : `On`';
					end;
					Expanded := True;
				end;
				with Add('When I snap more than one window, automatically adjust the size of the windows') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 24;
						HasCheckBox[OleVariant(0)] := True;
						State[OleVariant(0)] := 1;
						FormatCell[OleVariant(0)] := 'state = 0 ? `Off` : `On`';
					end;
					Expanded := True;
				end;
				with Add('When I snap a window, show what I can snap next to it') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 24;
						HasCheckBox[OleVariant(0)] := True;
						FormatCell[OleVariant(0)] := 'state = 0 ? `Off` : `On`';
					end;
					Expanded := True;
				end;
				with Add('Virtual desktops') do
				begin
					Divider := 0;
					Bold := True;
				end;
				with Add('On the taskbar, show windows that are open on:') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('Only the desktop I''m using') do
					begin
						Height := 24;
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1234;
						State[OleVariant(0)] := 1;
					end;
					with Items.Add('All desktops') do
					begin
						Height := 24;
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1234;
					end;
					Expanded := True;
				end;
				with Add('Pressing ALT+TAB, show windows that are open on:') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('Only the desktop I''m using') do
					begin
						Height := 24;
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1235;
						State[OleVariant(0)] := 1;
					end;
					with Items.Add('All desktops') do
					begin
						Height := 24;
						HasRadioButton[OleVariant(0)] := True;
						RadioGroup[OleVariant(0)] := 1235;
					end;
					Expanded := True;
				end;
			end;
		end;
	end;
	EnsureVisibleFaceMargin := 0;
	EnsureVisibleFace(EXTREECUBELib_TLB.exLeftFace,Null);
	AlwaysEnsureVisibleFace := EXTREECUBELib_TLB.exFitToEnsureFace;
	EndUpdate();
end
88:
How can I use images with the control

// FaceTreeButtonClick event - Notifies that a cell of button's type has been clicked.
procedure TForm1.TreeCube1FaceTreeButtonClick(ASender: TObject; Tree : IFaceTree;Item : Integer;Column : Integer);
begin
	with TreeCube1 do
	begin
		OutputDebugString( 'FaceTreeButtonClick' );
	end
end;

// FaceTreeStateChanged event - Notifies that a cell changes its state into a face of tree type.
procedure TForm1.TreeCube1FaceTreeStateChanged(ASender: TObject; Tree : IFaceTree;Item : Integer;Column : Integer);
begin
	with TreeCube1 do
	begin
		OutputDebugString( 'FaceTreeStateChanged' );
	end
end;

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	HTMLPicture['P1'] := 'c:\exontrol\images\zipdisk.gif';
	HTMLPicture['P2'] := 'c:\exontrol\images\auction.gif';
	HTMLPicture['P3'] := 'c:\exontrol\images\colorize.gif';
	HTMLPicture['P4'] := 'c:\exontrol\images\auction.gif';
	with FrontFace do
	begin
		RelativeMargins := '0,32,0,0';
		Title[EXTREECUBELib_TLB.exTitleFaceCaption] := '<c><font ;18>Notifications';
		Title[EXTREECUBELib_TLB.exTitleFaceBackgroundExt] := 'bottom[2],bottom[4,back=RGB(0,0,0)]';
		with CreateTree() do
		begin
			HasLines := EXTREECUBELib_TLB.exNoLine;
			DrawGridLines := EXTREECUBELib_TLB.exNoLines;
			ItemPadding := 24;
			HeaderVisible := False;
			ShowSelection := False;
			Columns.Add('Default').Alignment := EXTREECUBELib_TLB.LeftAlignment;
			with Items do
			begin
				with Add('Choose your quick actions') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 48;
						s := 0;
						Value[OleVariant(s)] := '<c><img>P1</img>';
						CellWidth[OleVariant(s)] := 48;
						HasButton[OleVariant(s)] := True;
						s := SplitCell[OleVariant(s)];
						Value[OleVariant(s)] := '<c><img>P2</img>';
						CellWidth[OleVariant(s)] := 48;
						HasButton[OleVariant(s)] := True;
						s := SplitCell[OleVariant(s)];
						Value[OleVariant(s)] := '<c><img>P3</img>';
						CellWidth[OleVariant(s)] := 48;
						HasButton[OleVariant(s)] := True;
						s := SplitCell[OleVariant(s)];
						Value[OleVariant(s)] := '<c><img>P4</img>';
						CellWidth[OleVariant(s)] := 48;
						HasButton[OleVariant(s)] := True;
						s := SplitCell[OleVariant(s)];
					end;
					Expanded := True;
				end;
				with Add('Show me tips about Windows') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 24;
						HasCheckBox[OleVariant(0)] := True;
						State[OleVariant(0)] := 1;
						FormatCell[OleVariant(0)] := 'state = 0 ? `Off` : `On`';
					end;
					Expanded := True;
				end;
				with Add('Show app notifications	') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 24;
						HasCheckBox[OleVariant(0)] := True;
						State[OleVariant(0)] := 1;
						FormatCell[OleVariant(0)] := 'state = 0 ? `Off` : `On`';
					end;
					Expanded := True;
				end;
				with Add('Show notifications on lock screen') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 24;
						HasCheckBox[OleVariant(0)] := True;
						FormatCell[OleVariant(0)] := 'state = 0 ? `Off` : `On`';
					end;
					Expanded := True;
				end;
				with Add('Show alarms, reminders and incomming VOIP calls on the lock screen') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 24;
						HasCheckBox[OleVariant(0)] := True;
						State[OleVariant(0)] := 1;
						FormatCell[OleVariant(0)] := 'state = 0 ? `Off` : `On`';
					end;
					Expanded := True;
				end;
				with Add('Hide notications while presentation') do
				begin
					SingleLine[OleVariant(0)] := False;
					with Items.Add('') do
					begin
						Height := 24;
						HasCheckBox[OleVariant(0)] := True;
						State[OleVariant(0)] := 0;
						FormatCell[OleVariant(0)] := 'state = 0 ? `Off` : `On`';
					end;
					Expanded := True;
				end;
			end;
		end;
	end;
	EnsureVisibleFaceMargin := 0;
	EnsureVisibleFace(EXTREECUBELib_TLB.exFrontFace,Null);
	AlwaysEnsureVisibleFace := EXTREECUBELib_TLB.exFitToEnsureFace;
	EndUpdate();
end
87:
How do I display a progress bar

with TreeCube1 do
begin
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		ItemPadding := 16;
		with Columns.Add('Pos') do
		begin
			FormatColumn := '1 pos ``';
			Width := 8;
		end;
		Columns.Add('Progress').Alignment := EXTREECUBELib_TLB.LeftAlignment;
		with Items do
		begin
			with Add('') do
			begin
				BackgroundExt[OleVariant(1)] := '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)]))';
				BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt] := '25%';
				BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExt] := BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt];
			end;
			with Add('') do
			begin
				BackgroundExt[OleVariant(1)] := '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)]))';
				BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt] := '15%';
				BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExt] := BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt];
				BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exBackColorExt] := OleVariant(65280);
			end;
			with Add('') do
			begin
				BackgroundExt[OleVariant(1)] := '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)]))';
				BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt] := '75%';
				BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExt] := BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt];
			end;
			with Add('') do
			begin
				BackgroundExt[OleVariant(1)] := '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)]))';
				BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt] := '85%';
				BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExt] := BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt];
			end;
			with Add('') do
			begin
				BackgroundExt[OleVariant(1)] := '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)]))';
				BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt] := '5%';
				BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt2,EXTREECUBELib_TLB.exTextExt] := BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exClientExt];
				BackgroundExtValue[OleVariant(1),EXTREECUBELib_TLB.exIndexExt4,EXTREECUBELib_TLB.exBackColorExt] := OleVariant(255);
			end;
		end;
	end;
end
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

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	CheckBoxWidth := 32;
	CheckBoxHeight := 29;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAADhABQACg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5Bi' + 
	'KAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpfb' + 
	'aKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZO' + 
	'koNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonefApC2BQglWHIKAAPx/D4FoyHgTZsAIXwYAWYR8kMR5YAAP4PmOdZ7H8X54AoDhziASAaAiAoeAecZ+CQI' + 
	'AID4GhwGEF5eBOAphHgZgbgiWQYHYB4CGICA2CSCpPnMYIjgEYZoiIFYDCGCIyCsNgKCCRgSgyHZ4FoKoNiGOJgDKDphEidg0giJEnDiDojBkFZXg+IxZCYGoLgMOQSC' + 
	'mFBlCgOJZCmA4jDiCYJmSZw6FCEglheRhbA4ZZpgIV4ZCYV4+GeGhhniTghhsYAps+HBkGmTh0hmChpiId4PCSeQeHuHwnmmKhyg+aA3gYdohh2cxUhwCJNBIRZuiIXo' + 
	'DGiJwOkyWR9nkPwoiKFA2G2YBznaHIlB0cxGBiAYfAONJUCgIBmlAFg6k0AhaioJ5OkMTIdi0axzEyHmEBIYJpDMCJanyDowiwQwyq0LBbB6Sowg6KwYmoMxI26GwIBw' + 
	'U4Mj0GpgCOCI6BmG4mmYX4mG2a4GmCOAmhuFhfjmAALiKao5m6S4ml8bpNmKQBQgkFpzjSbg1koc44lYKQviKFp9j+TRrnsAZADALAXASQZwDwJp8xQc4uiSQ5xAwRwS' + 
	'kSYhDi0ERCFAECAg');
		Add(2,'gBFLBCJwBAEHhEJAADhABZ8MACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5Bi' + 
	'KAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpfb' + 
	'aKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZO' + 
	'koNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonePwfA6fx7n2MIkBqM4REAB5vnOQpWCeAhnjACR9B4IoEC0OQMAGSZ0H2AxHmQAA/g+Y51n6AAgCgEZLDaC' + 
	'hgmCUQkACAw8g4AJgjKEgNH6IQIEmYB/mAEhCAOBYZDMZIlA2TQSEQCheAGiwKDmTBiAWYYDCCaIWBOChijiMJ/DYXx4loNINBsQBdkWDpiCidgRg+YRYFoRANCMEAuE' + 
	'cXhlHiVISAMTgSlwXh1mOSISE+CZhEiKgLCiQw5FYWYaleFpQBiA4PhOSJhHMJgYD4Yx3mKn5fDYCgwkiUQkiUaRigIYhoEkZZUASTRiHAIodCSWYKCaHgmFkBh0CiAw' + 
	'Zn6AYhGaUhcBiEhmkoEJQCOQBTiiTQjlwGZwDOE4oncXh5hmHIzGCIgMCkah0lMJYBFeMAHiyQRqmKMomiCY5wnoPUzFyuIMmIJh2ioXJqi6Ehkg0coEC6H7zHSUgkkC' + 
	'axA42ToDmydw7GCahygODQNCIVASgoGQ7GyWAyEeaA9n2GQkAsBgGjQKBqGmwxNiKHA7HATxjiSTgzGwaY6h2J5AGOiwfFkM4UkEHQPiWQhQisD5zFyHwKimcAWgZhpr' + 
	'BQAA6AyAgVleHILlucAAj+KA5joDhjg0VhOBEPpwjkBgQD+H5wh2bACBmYBBlwAQPGOKJRH0DwTHiNpHjICgSjiLYkCUGrzk4ApUFoNRJjCBxBGQTwjgCOpPBsWRnDGK' + 
	'4DAiMxDlKXp3ECRpFiuKgOh8AZODKcBqH0NR9GGdA+A6YxplMdRlHmPY4DsTRig2YXfECDg2lmJAjnCeQ8meOANwYwSBXEsDUeQZxdDxDgGwbY3QjjmHiKUcIwQnBfGA' + 
	'DYZowR7B6E6E4MI2g1AUAsOkFwCwOhmECC0ZYkxzhhFME4egXQThHGkPUDoPwqtkE6E8LQaQJiHDiK4KYaBCiwFwOkaYVROhqXoIcdw9BzAcCKNAZg3Qbg2BsD0cY+Bv' + 
	'BPEWOUfIHgziVHMOMYwWQEAACGAEZYgg7gaGKCUXQ6hoD7F2JwW5txIhPHYBQTwwQljzD6AYW4zx6h9B+F8bo9h/AfDONUZwkhziJF8FwHALBaCTAwIEG4CASDfC4FwA' + 
	'IRRHuhBAOUUwAxoAQH6C0eACgDAeAMGoGgGREDPAiKAAIVwBgYA2AUZ4QgEAOEGMANwCwIjWCIEgJIASAg==');
		Add(3,'gBFLBCJwBAEHhEJAADhABT0MACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5Bi' + 
	'KAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpfb' + 
	'aKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZO' + 
	'koNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonePR+D6d57GESA1GcIoAA+X5fgW2oJh6QAlnMdZHlgFIogGXw3lQNB+AAA54n4PxflefgBgCXIyBIFgZmGA' + 
	'YOBqAhKEgLZ5gOIQHgGfoAAkCAKBQZJIDiJBogqRwYjYGAZksGJFmGAogkiAgRgkIhohyfwgiOSIsGiCxkAGRBwhCRgZBYM4HGMWA+DeBJhEIBhOg+JAZEYQAaGUQhyF' + 
	'YdZjEgfhKgiIQohWc4TggGRCFKGJkCkDBehmTpJiWTIWGCWRtl+CJkkcfIAhyZgphIdoLEaWZkHeHpmjkIhaggZp5HYORzCcMgCHWFIkDGQBviKZx4jQZIjkuKhFkENg' + 
	'KDCThJiAHR5kIXhykeeh2geFBGmqBBmiiaI6hQb4diiGYcF4PgqkYTJXCgApDDiCYbGmBw6hqIJZCGeo6hUBoZlgaovmOY5CkIPQsEqKoJh2J4RjQeYylkM5cm0NgMhG' + 
	'egNH8JZImGE4BEeWpygiEJhiGDIGjeXATgaYgXG4SweGQGRugKOpqGSThTAQdA+hcCQuhsP5HjuVoPBkJQqhaZAXEsO52hkNYNGEcwCjmJAaCaew5HCBhOA8PpvJQDg/' + 
	'iyMZmiMGYGv4dw4jGB5MlKRpwCEcwEhAKhcE4OhRisdwEhmSZHGyJwjGQTRMjcHZHmKXBUGuJxHniHwlkqXpzG8Oo+moWRKmgGRKC0BZzk2c/FmiUZkFGBohBuJQhH8T' + 
	'gxjUB4ElUJwCDMRIRHuNBYhyd5WmuTJKECQYuEuCJhHWTYShQNhtm0M5zFmSpvFGbgvkgKI9DgXw8jcRwwm0GoCgEAxhoAWB0MwgQWi7EmOcMIpgnDwC4CcA4wh4gcB+' + 
	'BUYYcROBPA0GkCYhw4iuCmDgEg1wWAwDmBQJwlw9ifD4OsTAcQLhDBmHQbg1gzBvCWNMegnQnhNGqHUDoXwujWHqAYLICAAAbCKDAOQ4BMD9GaFUUo2QYjzFcLcTovBI' + 
	'hODuBoYoJxEBSHwP4JIrRyB5D8FcTI5x8jeEeJsco7xSC5HEG8S4DgEjnHaNQWIfRJheDaH8BgTgoB8EqFYMoFxPg/CeMUeovAMDBGKJkBgXxGgLHsH4R4QQpj7EyP8Z' + 
	'I1hEChBQAggI');
	end;
	Background[EXTREECUBELib_TLB.exCheckBoxState0] := $1000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState1] := $2000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState2] := $3000000;
	with FrontFace.CreateTree() do
	begin
		HasLines := EXTREECUBELib_TLB.exThinLine;
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 16;
		with Columns.Add('<c><b>Partial Check') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellHasCheckBox] := OleVariant(True);
			FormatColumn := '`Check <b>` + 1 rpos `` + ''</b> '' + (state=0 ? `<off 4>(off)` : (state=1 ? `<off 4>(on)` : ``))';
			PartialCheck := True;
		end;
		Items.Count := TreeCube1.FrontFace.FaceTree.VisibleItemsCount;
		with ItemByIndex[1] do
		begin
			Items.Count := 3;
			Expanded := True;
			State[OleVariant(0)] := 1;
		end;
		with ItemByIndex[2] do
		begin
			Items.Count := 3;
			Expanded := True;
			Items.Item[OleVariant(1)].State[OleVariant(0)] := 1;
		end;
	end;
	EndUpdate();
end
85:
How do I print the control

with TreeCube1 do
begin
	with FrontFace.CreateCalendar() do
	begin
		AutoSize := EXTREECUBELib_TLB.exFitClient;
		MaxMonthX := 1;
		MaxMonthY := 1;
	end;
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.Print'))) as EXPRINTLib_TLB.Print) do
	begin
		PrintExt := (IUnknown(TreeCube1.DefaultInterface) as EXTREECUBELib_TLB.TreeCube);
		Preview();
	end;
end
84:
How can I get the caption from the point

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.TreeCube1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
	with TreeCube1 do
	begin
		OutputDebugString( FrontFace.FaceTree.CaptionFromPoint[-1,-1] );
	end
end;

with TreeCube1 do
begin
	TexturePicturePath := 'C:\Program Files\Exontrol\ExTreeCube\Sample\Texture\Chapel';
	with FrontFace.CreateTree() do
	begin
		ItemPadding := 16;
		HeaderVisible := False;
		ForeColor := $ffffff;
		Items.ToString := '<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';
	end;
end
83:
How can I get the value from the point

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.TreeCube1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
	with TreeCube1 do
	begin
		OutputDebugString( FrontFace.FaceTree.ValueFromPoint[-1,-1] );
	end
end;

with TreeCube1 do
begin
	TexturePicturePath := 'C:\Program Files\Exontrol\ExTreeCube\Sample\Texture\Chapel';
	with FrontFace.CreateTree() do
	begin
		ItemPadding := 16;
		HeaderVisible := False;
		ForeColor := $ffffff;
		Items.ToString := '<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';
	end;
end
82:
How can I get the column from the point
// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.TreeCube1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
	with TreeCube1 do
	begin
		OutputDebugString( FrontFace.FaceTree.ColumnFromPoint[-1,-1] );
	end
end;

with TreeCube1 do
begin
	with FrontFace.CreateTree() do
	begin
		FullRowSelect := True;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		Columns.Add('A').FormatColumn := '0 pos `A-Z`';
		Columns.Add('B').FormatColumn := '0 pos `B-Z`';
		Columns.Add('C').FormatColumn := '0 pos `C-Z`';
		Columns.Add('D').FormatColumn := '0 pos `D-Z`';
		Items.Count := 4;
	end;
end
81:
How can I get the item from the point
// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.TreeCube1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
	with TreeCube1 do
	begin
		OutputDebugString( FrontFace.FaceTree.ItemFromPoint[-1,-1] );
	end
end;

with TreeCube1 do
begin
	with FrontFace.CreateTree() do
	begin
		FullRowSelect := True;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		Columns.Add('A').FormatColumn := '0 pos `A-Z`';
		Columns.Add('B').FormatColumn := '0 pos `B-Z`';
		Columns.Add('C').FormatColumn := '0 pos `C-Z`';
		Columns.Add('D').FormatColumn := '0 pos `D-Z`';
		Items.Count := 4;
	end;
end
80:
How can I get the value from the point (calendar's date)
// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.TreeCube1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
	with TreeCube1 do
	begin
		OutputDebugString( 'Date:' );
		OutputDebugString( FrontFace.FaceCalendar.ValueFromPoint[-1,-1] );
	end
end;

with TreeCube1 do
begin
	with FrontFace.CreateCalendar() do
	begin
		AutoSize := EXTREECUBELib_TLB.exFitClient;
		MaxMonthX := 1;
		MaxMonthY := 1;
	end;
end
79:
How can I get the date from the point (calendar's date)
// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.TreeCube1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
	with TreeCube1 do
	begin
		OutputDebugString( 'Date:' );
		OutputDebugString( FrontFace.FaceCalendar.DateFromPoint[-1,-1] );
	end
end;

with TreeCube1 do
begin
	with FrontFace.CreateCalendar() do
	begin
		AutoSize := EXTREECUBELib_TLB.exFitClient;
		MaxMonthX := 1;
		MaxMonthY := 1;
	end;
end
78:
How can I get the face from the point

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.TreeCube1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
	with TreeCube1 do
	begin
		OutputDebugString( 'Face:' );
		OutputDebugString( FaceFromPoint[-1,-1] );
	end
end;

with TreeCube1 do
begin
	IdentifyFace := EXTREECUBELib_TLB.exIdentifyFaceCaption;
end
77:
Does your control support partial-check feature

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	CheckBoxWidth := 32;
	CheckBoxHeight := 29;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAADhABQACg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5Bi' + 
	'KAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpfb' + 
	'aKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZO' + 
	'koNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonefApC2BQglWHIKAAPx/D4FoyHgTZsAIXwYAWYR8kMR5YAAP4PmOdZ7H8X54AoDhziASAaAiAoeAecZ+CQI' + 
	'AID4GhwGEF5eBOAphHgZgbgiWQYHYB4CGICA2CSCpPnMYIjgEYZoiIFYDCGCIyCsNgKCCRgSgyHZ4FoKoNiGOJgDKDphEidg0giJEnDiDojBkFZXg+IxZCYGoLgMOQSC' + 
	'mFBlCgOJZCmA4jDiCYJmSZw6FCEglheRhbA4ZZpgIV4ZCYV4+GeGhhniTghhsYAps+HBkGmTh0hmChpiId4PCSeQeHuHwnmmKhyg+aA3gYdohh2cxUhwCJNBIRZuiIXo' + 
	'DGiJwOkyWR9nkPwoiKFA2G2YBznaHIlB0cxGBiAYfAONJUCgIBmlAFg6k0AhaioJ5OkMTIdi0axzEyHmEBIYJpDMCJanyDowiwQwyq0LBbB6Sowg6KwYmoMxI26GwIBw' + 
	'U4Mj0GpgCOCI6BmG4mmYX4mG2a4GmCOAmhuFhfjmAALiKao5m6S4ml8bpNmKQBQgkFpzjSbg1koc44lYKQviKFp9j+TRrnsAZADALAXASQZwDwJp8xQc4uiSQ5xAwRwS' + 
	'kSYhDi0ERCFAECAg');
		Add(2,'gBFLBCJwBAEHhEJAADhABZ8MACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5Bi' + 
	'KAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpfb' + 
	'aKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZO' + 
	'koNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonePwfA6fx7n2MIkBqM4REAB5vnOQpWCeAhnjACR9B4IoEC0OQMAGSZ0H2AxHmQAA/g+Y51n6AAgCgEZLDaC' + 
	'hgmCUQkACAw8g4AJgjKEgNH6IQIEmYB/mAEhCAOBYZDMZIlA2TQSEQCheAGiwKDmTBiAWYYDCCaIWBOChijiMJ/DYXx4loNINBsQBdkWDpiCidgRg+YRYFoRANCMEAuE' + 
	'cXhlHiVISAMTgSlwXh1mOSISE+CZhEiKgLCiQw5FYWYaleFpQBiA4PhOSJhHMJgYD4Yx3mKn5fDYCgwkiUQkiUaRigIYhoEkZZUASTRiHAIodCSWYKCaHgmFkBh0CiAw' + 
	'Zn6AYhGaUhcBiEhmkoEJQCOQBTiiTQjlwGZwDOE4oncXh5hmHIzGCIgMCkah0lMJYBFeMAHiyQRqmKMomiCY5wnoPUzFyuIMmIJh2ioXJqi6Ehkg0coEC6H7zHSUgkkC' + 
	'axA42ToDmydw7GCahygODQNCIVASgoGQ7GyWAyEeaA9n2GQkAsBgGjQKBqGmwxNiKHA7HATxjiSTgzGwaY6h2J5AGOiwfFkM4UkEHQPiWQhQisD5zFyHwKimcAWgZhpr' + 
	'BQAA6AyAgVleHILlucAAj+KA5joDhjg0VhOBEPpwjkBgQD+H5wh2bACBmYBBlwAQPGOKJRH0DwTHiNpHjICgSjiLYkCUGrzk4ApUFoNRJjCBxBGQTwjgCOpPBsWRnDGK' + 
	'4DAiMxDlKXp3ECRpFiuKgOh8AZODKcBqH0NR9GGdA+A6YxplMdRlHmPY4DsTRig2YXfECDg2lmJAjnCeQ8meOANwYwSBXEsDUeQZxdDxDgGwbY3QjjmHiKUcIwQnBfGA' + 
	'DYZowR7B6E6E4MI2g1AUAsOkFwCwOhmECC0ZYkxzhhFME4egXQThHGkPUDoPwqtkE6E8LQaQJiHDiK4KYaBCiwFwOkaYVROhqXoIcdw9BzAcCKNAZg3Qbg2BsD0cY+Bv' + 
	'BPEWOUfIHgziVHMOMYwWQEAACGAEZYgg7gaGKCUXQ6hoD7F2JwW5txIhPHYBQTwwQljzD6AYW4zx6h9B+F8bo9h/AfDONUZwkhziJF8FwHALBaCTAwIEG4CASDfC4FwA' + 
	'IRRHuhBAOUUwAxoAQH6C0eACgDAeAMGoGgGREDPAiKAAIVwBgYA2AUZ4QgEAOEGMANwCwIjWCIEgJIASAg==');
		Add(3,'gBFLBCJwBAEHhEJAADhABT0MACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5Bi' + 
	'KAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpfb' + 
	'aKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZO' + 
	'koNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonePR+D6d57GESA1GcIoAA+X5fgW2oJh6QAlnMdZHlgFIogGXw3lQNB+AAA54n4PxflefgBgCXIyBIFgZmGA' + 
	'YOBqAhKEgLZ5gOIQHgGfoAAkCAKBQZJIDiJBogqRwYjYGAZksGJFmGAogkiAgRgkIhohyfwgiOSIsGiCxkAGRBwhCRgZBYM4HGMWA+DeBJhEIBhOg+JAZEYQAaGUQhyF' + 
	'YdZjEgfhKgiIQohWc4TggGRCFKGJkCkDBehmTpJiWTIWGCWRtl+CJkkcfIAhyZgphIdoLEaWZkHeHpmjkIhaggZp5HYORzCcMgCHWFIkDGQBviKZx4jQZIjkuKhFkENg' + 
	'KDCThJiAHR5kIXhykeeh2geFBGmqBBmiiaI6hQb4diiGYcF4PgqkYTJXCgApDDiCYbGmBw6hqIJZCGeo6hUBoZlgaovmOY5CkIPQsEqKoJh2J4RjQeYylkM5cm0NgMhG' + 
	'egNH8JZImGE4BEeWpygiEJhiGDIGjeXATgaYgXG4SweGQGRugKOpqGSThTAQdA+hcCQuhsP5HjuVoPBkJQqhaZAXEsO52hkNYNGEcwCjmJAaCaew5HCBhOA8PpvJQDg/' + 
	'iyMZmiMGYGv4dw4jGB5MlKRpwCEcwEhAKhcE4OhRisdwEhmSZHGyJwjGQTRMjcHZHmKXBUGuJxHniHwlkqXpzG8Oo+moWRKmgGRKC0BZzk2c/FmiUZkFGBohBuJQhH8T' + 
	'gxjUB4ElUJwCDMRIRHuNBYhyd5WmuTJKECQYuEuCJhHWTYShQNhtm0M5zFmSpvFGbgvkgKI9DgXw8jcRwwm0GoCgEAxhoAWB0MwgQWi7EmOcMIpgnDwC4CcA4wh4gcB+' + 
	'BUYYcROBPA0GkCYhw4iuCmDgEg1wWAwDmBQJwlw9ifD4OsTAcQLhDBmHQbg1gzBvCWNMegnQnhNGqHUDoXwujWHqAYLICAAAbCKDAOQ4BMD9GaFUUo2QYjzFcLcTovBI' + 
	'hODuBoYoJxEBSHwP4JIrRyB5D8FcTI5x8jeEeJsco7xSC5HEG8S4DgEjnHaNQWIfRJheDaH8BgTgoB8EqFYMoFxPg/CeMUeovAMDBGKJkBgXxGgLHsH4R4QQpj7EyP8Z' + 
	'I1hEChBQAggI');
	end;
	Background[EXTREECUBELib_TLB.exCheckBoxState0] := $1000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState1] := $2000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState2] := $3000000;
	with FrontFace.CreateTree() do
	begin
		HasLines := EXTREECUBELib_TLB.exThinLine;
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 16;
		with Columns.Add('<c><b>Partial Check') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellHasCheckBox] := OleVariant(True);
			FormatColumn := '`Check <b>` + 1 rpos ``';
			PartialCheck := True;
		end;
		Items.Count := TreeCube1.FrontFace.FaceTree.VisibleItemsCount;
		with ItemByIndex[1] do
		begin
			Items.Count := 3;
			Expanded := True;
			State[OleVariant(0)] := 1;
		end;
		with ItemByIndex[2] do
		begin
			Items.Count := 3;
			Expanded := True;
			Items.Item[OleVariant(1)].State[OleVariant(0)] := 1;
		end;
	end;
	EndUpdate();
end
76:
I am using the Items.ToString, just wondering if I can use it for multiple columns

with TreeCube1 do
begin
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		DrawGridLines := EXTREECUBELib_TLB.exNoLines;
		HeaderVisible := False;
		Columns.Count := 4;
		Items.ToString := '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';
	end;
end
75:
How can I show the item on multiple-lines

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 12;
		with Columns.Add('<c><b>Items') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellSingleLine] := OleVariant(False);
		end;
		with Items do
		begin
			Add('Short');
			Add('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 vec' + 
	'tor) to map into a view plane the six 2D textures arranged like the faces of a cube. ');
			Add('Short');
		end;
	end;
	EndUpdate();
end
74:
How can I change the visual appearance for the control's radio buttons

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	RadioButtonWidth := 23;
	RadioButtonHeight := 23;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAADhABNoCg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSFI' + 
	'ADRfFoWmxTdAcYSCGSZZrGOiQADIM40R7UAABPBNKR1BKmHZDQRAApqXIjVDAYIQSSBUlkHScRijDICXSIIQmbajIZoJCiVZ3VaGETnRQlJQuEgOHZwDAsBwPBqBPziL' + 
	'p4WzmGqhR5ichYHI8RYVTKXYy3DxZW7OO4PQjQM7hHL8fwlfTuagyGpZOxjP5cdrYHw2J7NUzJeDxbhrTb6Zh7ILVX7TNIwXAdD4PIKmNryORsC4XG5pZ7oOh6Lo3G4r' + 
	'hWZI2nOL4eBON4LkeRJvHWDxvB6G5Lmac56D0OY3hMU5bm6bRoiAeA9DMX5riydJ+D8P4vEeO4xkEcQfCYBZrHKXgzlme4BmCB4eAUZRbAaAZeGsDg4EYCYEmERoaBEO' + 
	'JaiMIY2EIXo2FYFYHmIBp1j8OoQhcYZNDiIgIiYE4Jl2BAlj0agOmiKgyH6Xo2jECYGE8WJmDODpehgFgZEIXI3DyfoQmQSQWEaEZkgkJhKhKZA2hmSxCEyGREnSFJkk' + 
	'kVhWwCCAthFKRjiIXhpiXOhihGYwJESSRCFuIxqGoPomkmDhuhWT45kSXYcl8UxdAkbgPBaMhTD0JApj4foRBoaJ5iqAxdmadhzDcWxpgIf4bhsY4Gg6GYYDcegNGUYg' + 
	'6VMIsBBmNg8CmRwuCOJBgBaAgXh6JQzl6JocE+OQQn+KpqkqNouivgQiiaLJPHaMZYHwQAHHIdRrA6ep2jMbYqx2RxzmqBpajOLxOnacYPHcHZnHGOlynmbo0jSbRLFa' + 
	'JoJlyNpplyKArhcGZcgMWpGjCXo4liM4ukiHpngkeJojiTZphmLIDG2Nwak2N4vEaAJsj2bpLgWFxlGGExOn4dgvHOMpxGgbwkAyaxEFCFAEICA=');
		Add(2,'gBFLBCJwBAEHhEJAADhABCEMACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSFI' + 
	'ADRfFoWmxTdAcYSCGSZZrGOiQADINI0R7UAABPBIMSjAamHZDQRAApqXIjVaAhySQKksg6TiMUYZAbaRBCEzbUZDNBIopUQLVU5ABbUEqBIipIrEQLHNwPBaEYZiOIYW' + 
	'5re4cfzIMhyLI8Ob3CqHZhleTwTjWGYvSp1dBbTQ2QyVRanMDqOjsKxmW5Gbh5NhfHY8dxnDKcZ5jGSudrjEZ9VpmG74JzeEbjRj8chxT4PDxnBK/YDSWgdLo8VzXBpc' + 
	'G2MY4maXxzFKQRxHgOQeC8H4TkuZhzHoNR9kaXpNnONZsGGMo9B4A5bmuFZ7n4Pw/i+XpFmSVB/mAB41hsQJfBYOJXgGXAHm4CoCmCtYAHqXRWBGWB/F2Z5UnaAxZFOa' + 
	'J2DuTpzHCOQ5gwcg8veDBjlCaA0mGBg6BYapcEONZiHYHADg4MoKE+U4QkEIINAISAig4Y44moPIPA4EpoHSBoOngNgyDiW5jCGShCF+VouA2EQNhKHBMg+Y5pFYPYVm' + 
	'OQxYiAD4kEgNZRHSTokCWax4A4KA2DaDglGkUhYhoZRph4DYZB6NAllEbwOmgKhEhqJ4JjIa4ek8c48mGAoflcAQJhITxaBYCoHEuGZmHuIooioIgKgWJIUCWXh4hkNh' + 
	'ImkM4JloMh6iaJRzhySAkCkVhFhUd4QhMJomD0KtvBCCJMGocouh6KIKiifoKlodAmAAOgrgYVoVD7Y5AlMJhDAqPoLh6D4DkCYosicSoYkkQhcmMapOD6LQKkqHgkCw' + 
	'KhwmILpHFqSJ7jaTZbHYBw1lCFwwnEcAqgOUoUGSa5DxkLQGHsVhWhQRJKkmFYkBuaI1lgdBtlMdZKi6LoKnSZQwggOp+kGJpjiufIDiyGQXCiYZCmyJxeAQYQi0YYI+' + 
	'lieoqmmKwpHIdoskIGQGFWSg8DIBx6GCQ4AAYXhHjlo5fCqNpPjYRJ/kucwMkcMpM9GMwqk2Tx3AGa4AnIVpkm2N5cAgcJvk2XIsjGeYlF53hKk2dAnEGJR7nCdxlgYc' + 
	'4ajmEplk4NYNGcWpKiYRx5k4dYhC0RxggsTpXAGQA3jaBoEmuUIuFuCo4DoNoDHqShwCKXYPCSXYzmOMx6lwOwZoawrgkE0HwBY1xegdE2MMWQhBOhoEUBIQAgCAgA==' + 
	'');
	end;
	Background[EXTREECUBELib_TLB.exRadioButtonState0] := $1000000;
	Background[EXTREECUBELib_TLB.exRadioButtonState1] := $2000000;
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 12;
		with Columns.Add('<c><b>Radio') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellHasRadioButton] := OleVariant(True);
		end;
		Items.ToString := 'Radio 1,Radio 2,Radio 3,Radio 4';
		ItemByIndex[1].State[OleVariant(0)] := 1;
	end;
	EndUpdate();
end
73:
How can I change the visual appearance for the control's check boxes (6)

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	CheckBoxWidth := 16;
	CheckBoxHeight := 16;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAADhABKMGACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSFI' + 
	'ACxfFoWRrnaA5QoGM4EDTRYADCKsaQ/J0LcI1FLUEyUf6sAArB74XiCIAIQiUBomGahajkMoYZAAaDCCI2a4aDZCIoVHalKgxC5oKSqCJqbptMZ/HrgJQYGRuC4NQ7Cc' + 
	'DKDATbr9MZ9ZBCNZoPimEYtS7MMLyRB8QpyAytaBhRaaGwmSr3U7Oc50d69FYTIxcYZoCq1XBOGYMZLcNR3La9YYnBqMbRAeJYNped6NSDVcKxLgaa4fTrOZZzHL9Hpv' + 
	'iMWYBnWOr+kwJ4zlqY53CAZQ/B4GZzmab5qHyT4cDeDInkwPp8DCTI/h+Iw7nMZZhj4B5eGKL57gYGAgAadZoG8soBgYfxKjcSRYCCYJGGYDoDmCQgNh0ZIZAaSB2gWY' + 
	'J2F4FwdhsJpuBQfRiAWdQJDqUQUCUASAgA==');
		Add(2,'gBFLBCJwBAEHhEJAADhABV0GACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSFI' + 
	'ACxfFoWRrnaA5QoGM4EDTRYADCKsaQ/J0LcI1FLUEyUf6sAArB74XiCIAIQiUBomGahajkMoYZAAaDCCI2a4aDZCIoVHalKgxC5oKSqCJqbptMZ/HrgJQYGRuC4NQ7Cc' + 
	'DKDATbr9MZ9ZBCNZoPimEYtS7MMLQXK8QpyAytaBhRaaGwmSr3U7Oc50d69FYQXqvYZoCq1XBOGYMZLcNR3La9YYnBqMbRAeJYNpedy2YbkFC5LStHwbCrBVpxWotDxQ' + 
	'jWVgrHYGI9iybhbiGUo+jafA6DKZxjkoVgxHoHR+iqXx2jMA52l8XJ/CMJ5TkaCp7nmOwHk+XovmECR8BWMYyAIHAgEOBgGFaSo4CWeQVgoSA0lOA5fEGEZQBSYRGBie' + 
	'YFlWMhiBoPZhkabI3geYIzDYIoHA8dxAH2CZYGMLgqHeW4zAYLgWCMB4gGIeoOjcQgJCqWBhgIOhvGKRhAn2D5blcWBaB+JBGi2EhWAgOQlhmEpYgiHB9DwJQCloUgWm' + 
	'UQoOFaEZXlaSB2haZJGF4WwdhsJRslmGJGDmFhYg8ZoHBiZYalCE4tBEQhQBAgI=');
	end;
	Background[EXTREECUBELib_TLB.exCheckBoxState0] := $1000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState1] := $2000000;
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 16;
		with Columns.Add('<c><b>Check') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellHasCheckBox] := OleVariant(True);
		end;
		Items.ToString := 'Check A,Check B,Check C,Check D';
		ItemByIndex[1].State[OleVariant(0)] := 1;
	end;
	EndUpdate();
end
72:
How can I change the visual appearance for the control's check boxes (5)

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	CheckBoxWidth := 24;
	CheckBoxHeight := 24;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAADhABO8GACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSFI' + 
	'ADRfFoWmxTdAcYSCGSZZrGOiQADIM40R7UAABPBNKR1DZ+KxAB76cheIIgAhCJQGSYZaDqOQyRhkBTqEIITZsRoNUIiRStayuDCLTwoSooXayfjHYAwOBYHgmC4NQ7EM' + 
	'RxLAmOw1ZKPQjgDDvDilM4tS7MMxzLK8cx3FjqaAyWhQTgePZNU7UNLwPRMCb3LqvbBsOxbHqma5tWjVYDwPZ9cz3Pq9biAG57fwnC59YLheK5Li9Q4jLbMdByXLMDxH' + 
	'iuRJpnWOw7k6RxrjuM5pj+PA+C8H4TkuZpznoPQ+H8B4rlubp3nsfYfA+H5Tl2cp6n4Pw+C+P5rnucx/B+aAFmqAAgCgFZlHSVZICYCoCmCSA2A6A5hAgPZTGWIQYFYF' + 
	'oFmCVsjj2YZIHYHoHmICIGCKCJiEiCZBGMTJjiIKoJGKSI2C6CBOjiRYSEITp4lWIgyhiOJmDqDpYHiIYgDqEITi0ERCFAECAg==');
		Add(2,'gBFLBCJwBAEHhEJAADhABA4Cg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKQobh2A42SDAcgSFI' + 
	'ADRfFoWmxTdAcYSCGSZZrGOiQADIM40R7UAABPBNKR1DZ+KxAB76cheIIgAhCJQGSYZaDqOQyRhkBTqEIITZsRoNUIiRStayuDCLTwoSooXayfjHYAwOBYHgmC4NQ7EM' + 
	'RxLAmOw1ZKPQjgDDvDilM4tS7MMxzLK8cx3FjqaAyWhQTgePZNU7UNLwPRMCb3LqvbBsOxbHqma5tWjVYDwPZ9cz3Pq9biAG57fq7ZLEYziOR4Hg+JzFbDVKq0aYjA5R' + 
	'lCU5mm8OR6l6Q53pqaAkgQXgBBMeRmGabhtjsTAeGuaZsm+aQMDwfwvAuJYch2dBsj0XJWkqHIZnMCIOEMBICHiXwHFWVx+A+V5pj4eRGGefJvDcC4WjyXArEWF4OAyA' + 
	'gghYCYsDAT5oHYHoHmGU5sncPANGKAA+HiXJyi4IA/g8U4klQfAeDeVIdgqYxIlWaoNGMQ5gnAOIOHMIIQg4IZonSEIBB0OIInCEAjGgaY6GCJIJDYQIRiEOBVmEN5LE' + 
	'GHhOggIx5F4WoKmKWI9lOCgdAkahZhaZhIH4QoRAMCQaE2GJmFmFhQgUJQZgoShwiSSY2HaBxllmFZqFcJ5JnYfofmgCgGgKIJoCeKYWiEKIKCaCogBqd4oneI5pAoRo' + 
	'SiSaRKFaFolmkVwFg0M4OgodoYieagKgaFA6moRhJAkO5qgaCJKGKapKjaLhhmmNoAmoQhOjQRQJEAQCAg==');
	end;
	Background[EXTREECUBELib_TLB.exCheckBoxState0] := $1000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState1] := $2000000;
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 16;
		with Columns.Add('<c><b>Check') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellHasCheckBox] := OleVariant(True);
		end;
		Items.ToString := 'Check A,Check B,Check C,Check D';
		ItemByIndex[1].State[OleVariant(0)] := 1;
	end;
	EndUpdate();
end
71:
How can I change the visual appearance for the control's check boxes (4)

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	CheckBoxWidth := 32;
	CheckBoxHeight := 32;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAADhABfICg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6' + 
	'CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRijDIAbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM' + 
	'RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxR' + 
	'DWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYF' + 
	'oFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4Uk' + 
	'mCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAo' + 
	'chqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0' + 
	'ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8' + 
	'CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2U' + 
	'gJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==');
		Add(2,'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' + 
	'HQyBEEIJACBAQA==');
		Add(3,'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');
	end;
	Background[EXTREECUBELib_TLB.exCheckBoxState0] := $1000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState1] := $2000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState2] := $3000000;
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 16;
		with Columns.Add('<c><b>Check') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellHasCheckBox] := OleVariant(True);
		end;
		Items.ToString := 'Check A,Check B,Check C,Check D';
		ItemByIndex[1].State[OleVariant(0)] := 1;
	end;
	EndUpdate();
end
70:
How can I change the visual appearance for the control's check boxes (3)

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	CheckBoxWidth := 32;
	CheckBoxHeight := 29;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAADhABQACg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5Bi' + 
	'KAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpfb' + 
	'aKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZO' + 
	'koNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonefApC2BQglWHIKAAPx/D4FoyHgTZsAIXwYAWYR8kMR5YAAP4PmOdZ7H8X54AoDhziASAaAiAoeAecZ+CQI' + 
	'AID4GhwGEF5eBOAphHgZgbgiWQYHYB4CGICA2CSCpPnMYIjgEYZoiIFYDCGCIyCsNgKCCRgSgyHZ4FoKoNiGOJgDKDphEidg0giJEnDiDojBkFZXg+IxZCYGoLgMOQSC' + 
	'mFBlCgOJZCmA4jDiCYJmSZw6FCEglheRhbA4ZZpgIV4ZCYV4+GeGhhniTghhsYAps+HBkGmTh0hmChpiId4PCSeQeHuHwnmmKhyg+aA3gYdohh2cxUhwCJNBIRZuiIXo' + 
	'DGiJwOkyWR9nkPwoiKFA2G2YBznaHIlB0cxGBiAYfAONJUCgIBmlAFg6k0AhaioJ5OkMTIdi0axzEyHmEBIYJpDMCJanyDowiwQwyq0LBbB6Sowg6KwYmoMxI26GwIBw' + 
	'U4Mj0GpgCOCI6BmG4mmYX4mG2a4GmCOAmhuFhfjmAALiKao5m6S4ml8bpNmKQBQgkFpzjSbg1koc44lYKQviKFp9j+TRrnsAZADALAXASQZwDwJp8xQc4uiSQ5xAwRwS' + 
	'kSYhDi0ERCFAECAg');
		Add(2,'gBFLBCJwBAEHhEJAADhABZ8MACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5Bi' + 
	'KAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpfb' + 
	'aKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZO' + 
	'koNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonePwfA6fx7n2MIkBqM4REAB5vnOQpWCeAhnjACR9B4IoEC0OQMAGSZ0H2AxHmQAA/g+Y51n6AAgCgEZLDaC' + 
	'hgmCUQkACAw8g4AJgjKEgNH6IQIEmYB/mAEhCAOBYZDMZIlA2TQSEQCheAGiwKDmTBiAWYYDCCaIWBOChijiMJ/DYXx4loNINBsQBdkWDpiCidgRg+YRYFoRANCMEAuE' + 
	'cXhlHiVISAMTgSlwXh1mOSISE+CZhEiKgLCiQw5FYWYaleFpQBiA4PhOSJhHMJgYD4Yx3mKn5fDYCgwkiUQkiUaRigIYhoEkZZUASTRiHAIodCSWYKCaHgmFkBh0CiAw' + 
	'Zn6AYhGaUhcBiEhmkoEJQCOQBTiiTQjlwGZwDOE4oncXh5hmHIzGCIgMCkah0lMJYBFeMAHiyQRqmKMomiCY5wnoPUzFyuIMmIJh2ioXJqi6Ehkg0coEC6H7zHSUgkkC' + 
	'axA42ToDmydw7GCahygODQNCIVASgoGQ7GyWAyEeaA9n2GQkAsBgGjQKBqGmwxNiKHA7HATxjiSTgzGwaY6h2J5AGOiwfFkM4UkEHQPiWQhQisD5zFyHwKimcAWgZhpr' + 
	'BQAA6AyAgVleHILlucAAj+KA5joDhjg0VhOBEPpwjkBgQD+H5wh2bACBmYBBlwAQPGOKJRH0DwTHiNpHjICgSjiLYkCUGrzk4ApUFoNRJjCBxBGQTwjgCOpPBsWRnDGK' + 
	'4DAiMxDlKXp3ECRpFiuKgOh8AZODKcBqH0NR9GGdA+A6YxplMdRlHmPY4DsTRig2YXfECDg2lmJAjnCeQ8meOANwYwSBXEsDUeQZxdDxDgGwbY3QjjmHiKUcIwQnBfGA' + 
	'DYZowR7B6E6E4MI2g1AUAsOkFwCwOhmECC0ZYkxzhhFME4egXQThHGkPUDoPwqtkE6E8LQaQJiHDiK4KYaBCiwFwOkaYVROhqXoIcdw9BzAcCKNAZg3Qbg2BsD0cY+Bv' + 
	'BPEWOUfIHgziVHMOMYwWQEAACGAEZYgg7gaGKCUXQ6hoD7F2JwW5txIhPHYBQTwwQljzD6AYW4zx6h9B+F8bo9h/AfDONUZwkhziJF8FwHALBaCTAwIEG4CASDfC4FwA' + 
	'IRRHuhBAOUUwAxoAQH6C0eACgDAeAMGoGgGREDPAiKAAIVwBgYA2AUZ4QgEAOEGMANwCwIjWCIEgJIASAg==');
		Add(3,'gBFLBCJwBAEHhEJAADhABT0MACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFIYRoAmCYZRnAYZIpjOZ5Bi' + 
	'KAwgQiHMbwTLjfyMACjH7nnJEEigNIxToOU4jFDGIAWArAZBEbTENBtBIUIRoCA6CgOCAYRa4AJTdL1Er2ex2G7WMpWURkHTUJgGN4BVbdeoxPi/b6wDA8CwXAaHXpfb' + 
	'aKYQ7brYaikchyLI8Tq9bDNIgADLoYADJIoCRqEyudKQcrXJakaZqOoaXo+W5VVzWLpDVo0XBdTiLAAzKDgA6bRqBSjgMjuIpcbABazPJTwPJcXxnGyMehyWJ47KoKZO' + 
	'koNRTiIRoCDgCZXm+eA6m0dQQj8MRInCUY7CIVoCEAFZonePR+D6d57GESA1GcIoAA+X5fgW2oJh6QAlnMdZHlgFIogGXw3lQNB+AAA54n4PxflefgBgCXIyBIFgZmGA' + 
	'YOBqAhKEgLZ5gOIQHgGfoAAkCAKBQZJIDiJBogqRwYjYGAZksGJFmGAogkiAgRgkIhohyfwgiOSIsGiCxkAGRBwhCRgZBYM4HGMWA+DeBJhEIBhOg+JAZEYQAaGUQhyF' + 
	'YdZjEgfhKgiIQohWc4TggGRCFKGJkCkDBehmTpJiWTIWGCWRtl+CJkkcfIAhyZgphIdoLEaWZkHeHpmjkIhaggZp5HYORzCcMgCHWFIkDGQBviKZx4jQZIjkuKhFkENg' + 
	'KDCThJiAHR5kIXhykeeh2geFBGmqBBmiiaI6hQb4diiGYcF4PgqkYTJXCgApDDiCYbGmBw6hqIJZCGeo6hUBoZlgaovmOY5CkIPQsEqKoJh2J4RjQeYylkM5cm0NgMhG' + 
	'egNH8JZImGE4BEeWpygiEJhiGDIGjeXATgaYgXG4SweGQGRugKOpqGSThTAQdA+hcCQuhsP5HjuVoPBkJQqhaZAXEsO52hkNYNGEcwCjmJAaCaew5HCBhOA8PpvJQDg/' + 
	'iyMZmiMGYGv4dw4jGB5MlKRpwCEcwEhAKhcE4OhRisdwEhmSZHGyJwjGQTRMjcHZHmKXBUGuJxHniHwlkqXpzG8Oo+moWRKmgGRKC0BZzk2c/FmiUZkFGBohBuJQhH8T' + 
	'gxjUB4ElUJwCDMRIRHuNBYhyd5WmuTJKECQYuEuCJhHWTYShQNhtm0M5zFmSpvFGbgvkgKI9DgXw8jcRwwm0GoCgEAxhoAWB0MwgQWi7EmOcMIpgnDwC4CcA4wh4gcB+' + 
	'BUYYcROBPA0GkCYhw4iuCmDgEg1wWAwDmBQJwlw9ifD4OsTAcQLhDBmHQbg1gzBvCWNMegnQnhNGqHUDoXwujWHqAYLICAAAbCKDAOQ4BMD9GaFUUo2QYjzFcLcTovBI' + 
	'hODuBoYoJxEBSHwP4JIrRyB5D8FcTI5x8jeEeJsco7xSC5HEG8S4DgEjnHaNQWIfRJheDaH8BgTgoB8EqFYMoFxPg/CeMUeovAMDBGKJkBgXxGgLHsH4R4QQpj7EyP8Z' + 
	'I1hEChBQAggI');
	end;
	Background[EXTREECUBELib_TLB.exCheckBoxState0] := $1000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState1] := $2000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState2] := $3000000;
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 16;
		with Columns.Add('<c><b>Check') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellHasCheckBox] := OleVariant(True);
		end;
		Items.ToString := 'Check A,Check B,Check C,Check D';
		ItemByIndex[1].State[OleVariant(0)] := 1;
	end;
	EndUpdate();
end
69:
How can I change the visual appearance for the control's check boxes (2)

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	CheckBoxWidth := 44;
	CheckBoxHeight := 20;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAADhABJACg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIxDFIsBxPFKCQChEZBUjKAwyDBIUzSDI' + 
	'UBhZBIKI7hGa3NBwJAAUTRch0j4iCRQGiYZyHKcxMYgIYCUBkERtMw0GyERQhGb4DoGA4IBhFZQVVLsRBIDh2bbuG4LSrWdJ3OyaN5EbbgZz9P7AMBwLA8EwXBqHYIUG' + 
	'JGbhlbTnR7HMhvDIsPDnFqIZhmOZZXjlfh7T7KNByO6LcI3AiDagtWpNTpjf5dV7YNh2LY9UzXNq3bI1W5aUqyAZ9QQpeB0LILYDbRp/FzyO5NNrHG6dZ7oOh1doOUIt' + 
	'laP5lgcPA7hEJ47H8SD0l4LwfhOSJ9nOIh9DefBREMKYMDaX59nsVhvlKdBpCGfgIl+L43lGG5lH+YAGlWZw/EYOAVH8ZQXncdBJDwIJGkiGYDlmUh2BKABhEgVJpgWX' + 
	'4BA4BxcAeWB1H8KJiAaSJJgiWZWAmVA0CEWIln8JYikWfZpCIXARE0fw3GMRpJnaCRYBGWg6gqI5HgoJxfkYCQFlkX5PhkFYyBAJIImGABpGOWQ1k8OxlAWfZ6BGJA1n' + 
	'oRQ+GQeQmEoX4kkkOheG2JQDjYUh+iMGJODUbBjHkbAzg6BxpH4bhsmOdZ6EEGAbmIAR/gSCZWkmfYShwYJYlOH5mnoBYvCSaBFnyDYhlcKAll2AwPAaSggCiWZaD6Ao' + 
	'giEc4mBmBpYnePZxGMHw3lUeoGGUN5aH8NJpDoBgDgERg6GGFICh2d4GiWK5cngDgvHqWInG0cIfFyBwpjqLArkcTZVHWV5nGaNhxA6VoVicahajaNo9gUHI2nIdRwBw' + 
	'JoOkSMJlFmKpWjWWY2HwPYwm2SxJHIe5sGsYpiGcXpHj6XYxA6NBFAkQBAIC');
		Add(2,'gBFLBCJwBAEHhEJAADhABB4Cg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIxDFIsBxPFKCQChEZBUjKAwyDBIUzSDI' + 
	'UBhZBIKI7hGa3NBwJAAUTRch0j4iCRQGiYZyHKcxMYgIYCUBkERtMw0GyERQhGb4DoGA4IBhFZQVVLsRBIDh2bbuG4LSrWdJ3Oy3KKiQy5cABPq/b6wDA8CwXAaHYRiG' + 
	'DYThmF4dRQAG6RcTLWrPFqVZheGYua4CLBxRrINA0LD9DyHJKnaZkDgpUQGN5dTS4GwPQCN3xRWzUyBaQzJfAZV7Lbw3PadX4XRLHcLwfAXFqWaaNZLneh5DouDz3P5Y' + 
	'MuaRBicQ4nl6bpuBwKYRnuUY2jsfg9B0b43hOH5KjucQPnwOpMi+A4pnab5qB0a4znuf57n4f5gAeeJqC4R42mEcg5AoIRBnUfggkgLJiCaRA4AYEoEl+Y4AhcDpaFOG' + 
	'IrBgDYyBwHICmIB5djge4hEilY8g0MotiUZICkMYB6AEIgYDYIh0g+Q5cm+CYjgOfJ6DuDZ2hSWggkESI6DCDJjCkFZDg0Yx4mYJYOmOVoiD8BQhlgfhEgwZRGBoJISy' + 
	'0IgqGoIpDhCJAVCUWQaFMY5fAkYgBD+D5TmyYAlENPBnCsRhFkoYYcmYMAAmkLRHDmGZ9h2Rw4BkeBnFmeZWHSGIYHeQZuHoHonjGboamaVwYmIJwEEYbZNiCaRKAmdx' + 
	'1hyNZChWIQpjcKZYHAKQ6FqHIoh0Vp6hkcBqgoAodikKgmi2LYnmsCohkAXoXkqMojgMIpKh2Gw6lEFAlAEgIA==');
	end;
	Background[EXTREECUBELib_TLB.exCheckBoxState0] := $1000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState1] := $2000000;
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 16;
		with Columns.Add('<c><b>Check') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellHasCheckBox] := OleVariant(True);
		end;
		Items.ToString := 'Check A,Check B,Check C,Check D';
		ItemByIndex[1].State[OleVariant(0)] := 1;
	end;
	EndUpdate();
end
68:
How can I change the visual appearance for the control's check boxes (1)

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	CheckBoxWidth := 37;
	CheckBoxHeight := 15;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAADhABOkGACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjQAsTRQFocAChEYxXjKBA1SJNUgyj6' + 
	'WCQPR7CM5OaDgSABIijJDoGAwIgkUBpGKdBynEYoYxAYySQAIIjaYhoNoJChCM7QHQEBwQDCLUgrGbIbCQHDtW5cFr3DaLEzsXi8FwvK67cr2fp/YBgOBYHbdcJ5Oxkb' + 
	'ouPC7Sa0AKKYywGRNFijV4se7MHzzLKHXxZa6UNJhGhaHomCYkYDILhxfDMGx7GqvbBsOxPXj2DZLW7cNIyDS3NyfLqzcBwOZZdrPC6NPzTdSuHQOC43Tqgcb0PDaVgh' + 
	'mOVpnHYOAcE6FxzEuCAAGGOw+C2HhzjuZpRGGAAXj8H4zGWZ53mEPAXgyZ43kWZZ4H4L4ehwRp/muTh2l+F5ll8cpZEeeZYHQIEZEoW5MBgNZ9gGGpzioEoCF+GA0kGA' + 
	'pYlYnY6iAaBtjaBQfAabYpgMIJWgIGx9BmNhiBsNBikiAZwgWIg2DoMRkAyKJWB+C4fAYGg1DKIw2DAAA6lEFAlAEgI=');
		Add(2,'gBFLBCJwBAEHhEJAADhABC4Cg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjQAsTRQFocAChEYxXjKBA1SJNUgyj6' + 
	'WCQPR7CM5OaDgSABIijJDoGAwIgkUBpGKdBynEYoYxAYySQAIIjaYhoNoJChCM7QHQEBwQDCLUgrGbIbCQHDtW5cFr3DaLKI0J5kUBENhjaBafJ+XzfeBYDgmAYNQbDc' + 
	'JxDC8KwWeQjXYTdyXHilZLaADJcqZVChSwzCafZ5oOK6Bodfq0VY2HabNgnYbNbT7bBrLq6UwWTjZTYZMxuHKMVyLJK/b5wOi3axKBBJWjYOR5Li+MbvNLFCRmO6Obpj' + 
	'gWHxsCiS5vleW5dkCOBBHWPA4F4Rw3kuZpYG0NwbjuD4LAyWhUho9BnmueZ4nof5+BwS40E+Nx9jYeaKAWNhulkF41m8fBfDOVJoDWDJCCALw7g0cphngP5OEMBISH8W' + 
	'g3hI05ckaUYRAAGL8H4PpPgOVJnDUTIiBAKRfkwcZ0BuBAhCeYgVgWXA3AEfRsiGSJlkobIYnAAgYAWDJyEQPgyAgAIFh6CxBjOMJUCyrQckcJxjniahSHMF54gGRoPl' + 
	'4EZsBgOpNAKMhNDGSZnjYOIUmGRo0mwdAAAgFg1hYGIpGiagzgqE5onMOoelgahkgAIZll2U4bCMaZ2AYagnHgbgDFuXQ2GwM4fCiCYtmMapoBgdJaDAaBni2PYiifSR' + 
	'8HQDpqD6AYmEwFxBlIboWnoGoJiUahGHmNonCYZwmGaJwNiKKBriQWRaEmFooA6UxQhsFAdAqDo6iViJYFCLQdCOLQREIUAQICA=');
	end;
	Background[EXTREECUBELib_TLB.exCheckBoxState0] := $1000000;
	Background[EXTREECUBELib_TLB.exCheckBoxState1] := $2000000;
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 12;
		with Columns.Add('<c><b>Check') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellHasCheckBox] := OleVariant(True);
		end;
		Items.ToString := 'Check A,Check B,Check C,Check D';
		ItemByIndex[1].State[OleVariant(0)] := 1;
	end;
	EndUpdate();
end
67:
How can I display an item to fit the control's width

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		HasLines := EXTREECUBELib_TLB.exThinLine;
		ItemPadding := 10;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		Columns.Add('<c>Default').Alignment := EXTREECUBELib_TLB.LeftAlignment;
		with Columns.Add('Pos') do
		begin
			Position := 0;
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			FormatColumn := '1 rpos ``';
			Width := 24;
		end;
		with Columns.Add('Pos') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			FormatColumn := '1 rpos ``';
			Width := 24;
		end;
		with Items do
		begin
			with Add('<r>Root 1') do
			begin
				Bold := True;
				Divider := 0;
				BackColor := $f0f0f0;
				Selectable := False;
				with Items do
				begin
					Add('Child 1');
					Add('Child 2');
					Add('Child 3');
				end;
			end;
			with Add('<r>Root 2') do
			begin
				Bold := True;
				Divider := 0;
				BackColor := $f0f0f0;
				Selectable := False;
				with Items do
				begin
					Add('Child 1');
					Add('Child 2');
					Add('Child 3');
				end;
			end;
			ExpandAll();
		end;
	end;
	EndUpdate();
end
66:
Is it possible to prevent showing the selecting item ( hide )
with TreeCube1 do
begin
	BeginUpdate();
	CheckBoxWidth := 32;
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 10;
		with Columns.Add('<c><b>Check') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellHasCheckBox] := OleVariant(True);
		end;
		Items.ToString := 'Item A,Item B,Item C,Item D';
		ItemByIndex[1].State[OleVariant(0)] := 1;
	end;
	EndUpdate();
end
65:
Is it possible to provide a few radio-buttons only, not for entire column

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 10;
		with Columns.Add('<c><b>Def') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellPaddingLeft] := OleVariant(4);
		end;
		with Items do
		begin
			Add('Item 1');
			with Add('Radio 1') do
			begin
				HasRadioButton[OleVariant(0)] := True;
				RadioGroup[OleVariant(0)] := 1234;
			end;
			with Add('Radio 2') do
			begin
				HasRadioButton[OleVariant(0)] := True;
				RadioGroup[OleVariant(0)] := 1234;
				State[OleVariant(0)] := True;
			end;
			with Add('Radio 3') do
			begin
				HasRadioButton[OleVariant(0)] := True;
				RadioGroup[OleVariant(0)] := 1234;
			end;
			Add('Item 1');
		end;
	end;
	EndUpdate();
end
64:
Is it possible to provide a few check box only, not for entire column

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 10;
		with Columns.Add('<c><b>Def') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellPaddingLeft] := OleVariant(4);
		end;
		with Items do
		begin
			Add('Item 1');
			Add('Check 1').HasCheckBox[OleVariant(0)] := True;
			with Add('Check 2') do
			begin
				HasCheckBox[OleVariant(0)] := True;
				State[OleVariant(0)] := 1;
			end;
			Add('Item 1');
		end;
	end;
	EndUpdate();
end
63:
How can I show radio-buttons for the entire column

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 10;
		with Columns.Add('<c><b>Radio') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellHasRadioButton] := OleVariant(True);
		end;
		Items.ToString := 'Item A,Item B,Item C,Item D';
		ItemByIndex[1].State[OleVariant(0)] := 1;
	end;
	EndUpdate();
end
62:
How can I show check-boxes for the entire column

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	with FrontFace.CreateTree() do
	begin
		ShowSelection := False;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		ItemPadding := 10;
		with Columns.Add('<c><b>Check') do
		begin
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			Def[EXTREECUBELib_TLB.exCellHasCheckBox] := OleVariant(True);
		end;
		Items.ToString := 'Item A,Item B,Item C,Item D';
		ItemByIndex[1].State[OleVariant(0)] := 1;
	end;
	EndUpdate();
end
61:
How do I select programmatically a value in the calendar

with TreeCube1 do
begin
	TexturePicturePath := 'C:\Program Files\Exontrol\ExTreeCube\Sample\Texture\Chapel';
	Background[EXTREECUBELib_TLB.exDateHeaderForeColor] := $1;
	with FrontFace.CreateCalendar() do
	begin
		ForeColor := $ffffff;
		NonworkingDays := 0;
		Value := '12/31/2016';
	end;
end
60:
How do I select programmatically a caption in the list

with TreeCube1 do
begin
	TexturePicturePath := 'C:\Program Files\Exontrol\ExTreeCube\Sample\Texture\JapanGarden';
	with FrontFace.CreateTree() do
	begin
		ItemPadding := 40;
		HeaderVisible := False;
		ForeColor := $ffffff;
		Items.ToString := ',<sha \;\;0><font \;18>Garden <b>A,<sha \;\;0><font \;18>Garden <b>B,<sha \;\;0><font \;18>Garden <b>C,';
		Caption := 'Garden B';
	end;
end
59:
How do I select programmatically a value in the list

with TreeCube1 do
begin
	TexturePicturePath := 'C:\Program Files\Exontrol\ExTreeCube\Sample\Texture\JapanGarden';
	with FrontFace.CreateTree() do
	begin
		ItemPadding := 40;
		HeaderVisible := False;
		ForeColor := $ffffff;
		Items.ToString := ',<sha \;\;0><font \;18>Garden <b>A,<sha \;\;0><font \;18>Garden <b>B,<sha \;\;0><font \;18>Garden <b>C,';
		Value := '<sha ;;0><font ;18>Garden <b>B';
	end;
end
58:
How can I show solid lines instead

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	HasButtons := EXTREECUBELib_TLB.exArrow;
	with FrontFace.CreateTree() do
	begin
		ItemPadding := 10;
		HeaderVisible := False;
		HasLines := EXTREECUBELib_TLB.exSolidLine;
		LinesAtRoot := EXTREECUBELib_TLB.exGroupLines;
		GridLineStyle := EXTREECUBELib_TLB.exGridLinesSolid;
		DrawGridLines := EXTREECUBELib_TLB.exAllLines;
		Columns.Add('').Alignment := EXTREECUBELib_TLB.LeftAlignment;
		with Columns.Add('') do
		begin
			Alignment := EXTREECUBELib_TLB.RightAlignment;
			FormatColumn := 'lower(%0) right 1';
		end;
		with Items do
		begin
			with Add('Root <b>1') do
			begin
				with Items do
				begin
					Add('Child 1');
					Add('Child 2');
					Add('Child 3');
				end;
				Expanded := True;
			end;
			with Add('Root <b>2').Items do
			begin
				Add('Child 1');
				Add('Child 2');
				Add('Child 3');
			end;
		end;
	end;
	EndUpdate();
end
57:
How can I select the entire item rather than the column only

with TreeCube1 do
begin
	BeginUpdate();
	with FrontFace.CreateTree() do
	begin
		FullRowSelect := True;
		Columns.Count := 3;
		with Columns.Item[OleVariant(0)] do
		begin
			Caption := '<b><c>Pos';
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			FormatColumn := '0 pos ``';
			Width := 64;
		end;
		Items.Count := TreeCube1.FrontFace.FaceTree.VisibleItemsCount;
		SelectItem := 1;
	end;
	EnsureVisibleFace(EXTREECUBELib_TLB.exFrontFace,Null);
	EndUpdate();
end
56:
How can I change the visual appearance of the control's header bar

with TreeCube1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	with FrontFace.CreateTree() do
	begin
		BackColorHeader := $1000000;
		Columns.Count := 5;
	end;
	EnsureVisibleFace(EXTREECUBELib_TLB.exFrontFace,Null);
	EndUpdate();
end
55:
How can I add multiple-columns, so the horizontal scroll bar is displayed

with TreeCube1 do
begin
	BeginUpdate();
	with FrontFace.CreateTree() do
	begin
		ColumnAutoResize := False;
		Columns.Count := 20;
	end;
	EnsureVisibleFace(EXTREECUBELib_TLB.exFrontFace,Null);
	EndUpdate();
end
54:
How can I add multiple-columns

with TreeCube1 do
begin
	BeginUpdate();
	with FrontFace.CreateTree() do
	begin
		ItemPadding := 10;
		LinesAtRoot := EXTREECUBELib_TLB.exGroupLines;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		Columns.Add('Default').Alignment := EXTREECUBELib_TLB.LeftAlignment;
		with Columns.Add('Pos') do
		begin
			Position := 0;
			Alignment := EXTREECUBELib_TLB.LeftAlignment;
			FormatColumn := '1 rpos ``';
			Width := 24;
		end;
		with Items do
		begin
			with Add('Root 1').Items do
			begin
				Add('Child 1');
				Add('Child 2');
				Add('Child 3');
			end;
			with Add('Root 2').Items do
			begin
				Add('Child 1');
				Add('Child 2');
				Add('Child 3');
			end;
			ExpandAll();
		end;
	end;
	EndUpdate();
end
53:
How do I add a hierarchy

// FaceTreeExpandItem event - Notifies that an item has been expanded/collapsed into a face of tree type.
procedure TForm1.TreeCube1FaceTreeExpandItem(ASender: TObject; Tree : IFaceTree;Item : Integer);
begin
	with TreeCube1 do
	begin
		OutputDebugString( Item );
	end
end;

with TreeCube1 do
begin
	BeginUpdate();
	with FrontFace.CreateTree() do
	begin
		ExpandOnDblClick := True;
		ItemPadding := 10;
		HeaderVisible := False;
		LinesAtRoot := EXTREECUBELib_TLB.exGroupLines;
		DrawGridLines := EXTREECUBELib_TLB.exRowLines;
		Columns.Add('').Alignment := EXTREECUBELib_TLB.LeftAlignment;
		with Items do
		begin
			with Add('Root 1').Items do
			begin
				Add('Child 1');
				Add('Child 2');
				Add('Child 3');
			end;
			with Add('Root 2').Items do
			begin
				Add('Child 1');
				Add('Child 2');
				Add('Child 3');
			end;
			ExpandAll();
		end;
	end;
	EndUpdate();
end
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.
procedure TForm1.TreeCube1FaceCalendarValueChanged(ASender: TObject; Calendar : IFaceCalendar);
begin
	with TreeCube1 do
	begin
		OutputDebugString( Calendar );
	end
end;

with TreeCube1 do
begin
	with FrontFace.CreateCalendar() do
	begin
		Value := '1/2/2001';
		MonthNames := LocMonthNames[Null];
		WeekDays := LocWeekDays[OleVariant(2)];
		FirstWeekDay := LocFirstWeekDay;
		AutoSize := EXTREECUBELib_TLB.exFitClient;
	end;
end
51:
How can I change the picture/texture on the faces

with TreeCube1 do
begin
	TexturePicturePath := 'C:\Program Files\Exontrol\ExTreeCube\Sample\Texture\Earth';
end
50:
How can I get ride of the default texture

with TreeCube1 do
begin
	IdentifyFace := Integer(EXTREECUBELib_TLB.exIdentifyFaceFrame) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceName) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceCaption);
	TexturePicturePath := '';
end
49:
How do I get ride of grid lines, and the top border it shows on the tree face

with TreeCube1 do
begin
	with FrontFace.CreateTree() do
	begin
		ItemPadding := 20;
		HeaderVisible := False;
		DrawGridLines := EXTREECUBELib_TLB.exNoLines;
		with Items do
		begin
			Add('Item A');
			Add('Item B');
			Add('Item C');
		end;
	end;
end
48:
How can I add a list of items (method 2)

with TreeCube1 do
begin
	with FrontFace.CreateTree().Items do
	begin
		Add('Item A');
		Add('Item B');
		Add('Item C');
	end;
end
47:
How can I add a list of items (method 1)

with TreeCube1 do
begin
	with FrontFace.CreateTree() do
	begin
		Items.ToString := 'Item A,Item B,Item C';
	end;
end
46:
Fisheye Calendar View - Year

// FaceTreeValueChanged event - Notifies that the user selects a new item/column/value into a face of the tree type.
procedure TForm1.TreeCube1FaceTreeValueChanged(ASender: TObject; Tree : IFaceTree);
begin
	// f.FaceCalendar.Year = Tree.Caption
	with TreeCube1 do
	begin
		f := Face[VisibleFace];
		f := FrontFace;
		with f.Neighbor[EXTREECUBELib_TLB.exRotateLeft].FaceCalendar do
		begin
			Date := f.FaceCalendar.Date;
			Move(EXTREECUBELib_TLB.exRotateLeft,Null);
		end;
		with f.Neighbor[EXTREECUBELib_TLB.exRotateRight].FaceCalendar do
		begin
			Date := f.FaceCalendar.Date;
			Move(EXTREECUBELib_TLB.exRotateRight,Null);
		end;
		with f.Neighbor[EXTREECUBELib_TLB.exRotateRight].Neighbor[EXTREECUBELib_TLB.exRotateRight].FaceCalendar do
		begin
			Date := f.FaceCalendar.Date;
			Move(EXTREECUBELib_TLB.exRotateRight,Null);
			Move(EXTREECUBELib_TLB.exRotateRight,Null);
		end;
	end
end;

// Move event - Occurs once a new face became visible, by moving/rotating from a face to another, into the giving direction.
procedure TForm1.TreeCube1Move(ASender: TObject; RotateDir : RotateEnum;FromFace : FaceEnum;ToFace : FaceEnum);
begin
	with TreeCube1 do
	begin
		f := Face[ToFace];
		f.FaceCalendar.SelDate := TreeCube1.Face[FromFace].FaceCalendar.SelDate;
		Face[FromFace].FaceCalendar.UnselectDate();
		with f.Neighbor[EXTREECUBELib_TLB.exRotateLeft].FaceCalendar do
		begin
			Date := f.FaceCalendar.Date;
			Move(EXTREECUBELib_TLB.exRotateLeft,Null);
		end;
		with f.Neighbor[EXTREECUBELib_TLB.exRotateRight].FaceCalendar do
		begin
			Date := f.FaceCalendar.Date;
			Move(EXTREECUBELib_TLB.exRotateRight,Null);
		end;
	end
end;

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	EnsureVisibleFaceMargin := 32;
	EnsureVisibleFaceOnDblClick := False;
	EnsureVisibleFaces := '0,2,1,3,4';
	with FrontFace.CreateCalendar() do
	begin
		Date := '1/1/2016';
		AutoSize := EXTREECUBELib_TLB.exFitClient;
		MaxMonthX := 1;
		MaxMonthY := 1;
		ShowTodayButton := False;
		FirstWeekDay := EXTREECUBELib_TLB.exMonday;
		SelBackColor := $2000000;
		SelForeColor := $0;
		ShowNonMonthDays := True;
	end;
	d := TreeCube1.FrontFace.FaceCalendar.Date;
	with LeftFace.CreateCalendar() do
	begin
		Date := d;
		Move(EXTREECUBELib_TLB.exRotateLeft,Null);
		AutoSize := EXTREECUBELib_TLB.exFitClient;
		MaxMonthX := 1;
		MaxMonthY := 1;
		ShowTodayButton := False;
		FirstWeekDay := EXTREECUBELib_TLB.exMonday;
		SelBackColor := $2000000;
		SelForeColor := $0;
		ShowNonMonthDays := True;
	end;
	with RightFace.CreateCalendar() do
	begin
		Date := d;
		Move(EXTREECUBELib_TLB.exRotateRight,Null);
		AutoSize := EXTREECUBELib_TLB.exFitClient;
		MaxMonthX := 1;
		MaxMonthY := 1;
		ShowTodayButton := False;
		FirstWeekDay := EXTREECUBELib_TLB.exMonday;
		SelBackColor := $2000000;
		SelForeColor := $0;
		ShowNonMonthDays := True;
	end;
	with BottomFace.CreateCalendar() do
	begin
		Date := d;
		Move(EXTREECUBELib_TLB.exRotateRight,Null);
		Move(EXTREECUBELib_TLB.exRotateRight,Null);
		AutoSize := EXTREECUBELib_TLB.exFitClient;
		MaxMonthX := 1;
		MaxMonthY := 1;
		ShowTodayButton := False;
		FirstWeekDay := EXTREECUBELib_TLB.exMonday;
		SelBackColor := $2000000;
		SelForeColor := $0;
		ShowNonMonthDays := True;
	end;
	with TopFace do
	begin
		with CreateTree() do
		begin
			ItemPadding := 20;
			SelBackColor := $2000000;
			SelForeColor := $0;
			Columns.Count := 5;
			HeaderVisible := False;
			Items.Count := TreeCube1.TopFace.FaceTree.VisibleItemsCount;
			Columns.Item[OleVariant(0)].FormatColumn := '(0:=(1989 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Columns.Item[OleVariant(1)].FormatColumn := '(0:=(1990 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Columns.Item[OleVariant(2)].FormatColumn := '(0:=(1991 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Columns.Item[OleVariant(3)].FormatColumn := '(0:=(1992 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Columns.Item[OleVariant(4)].FormatColumn := '(0:=(1993 + 5 * (0 index ``))) = 2016 ? `<b><sha ;;0>` + =:0 + `</b>` : =:0';
			Caption := TreeCube1.FrontFace.FaceCalendar.Year;
		end;
	end;
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAADhABXgCg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDIAkRRdDSOYDmGQYDiCIoRShOMIjHL' + 
	'UXxtDaIZZmWCQCglf5HABRb7xPLoARTAaeJKoWboJAiGwLQjQUyABSdEyRJSLYhGIZRFqKZIRDSMFiwTZNVypAaIYqqaA6qzfJymabAAZJEradozTLIE7xVLEVYNKCmZ' + 
	'CwMAAcgmEQgSTAda2BYELTzECoYDGCrcKpWCaNQLWEB5BQeJSNL6kIqsazgAqPLJtWhaVwxXIEI5AAC5QA0S7pOxeO6JbRGdZbNrlbz1PTMaazTgYDzmWqiYxxMraXxS' + 
	'lmMprGsIpVl2LRnD0A5bnSN49mAARAlIYw6B0ThGFGDIBG0QghBMfZRiGNAkFECZoG6YQBgiOgCmuRRSg6GAElWAJMkgFgGgGYIIAyVQ7GCRhUAAOQhAMBgSDWIRDG4F' + 
	'g3CGCBmBmBYNjgUJWDIIgIECZBCEsKIUkqCZhiiJgqgaYRjB4LguiMBAkiqDLenYrBjgiZg6gGIwyioMoNCAWJqEKEJjkiTg/CqIxZA4SoNmQWJ5AODxMlkRJehSZRJF' + 
	'YVoVmUEw2D2EZlhkXhehfURuE+DJllkfhmhUJgZBoYwqiWEx+G6G5nAmRhyhoZJgAIUIUGcKZmHqHQlkmYh6h+Zp5nIawzigQ4CgaIZogoJoKiEDJpgodoMmiSgqhKJN' + 
	'xDoPQzmmA4GhqJppkodoeiYDJ6FpaQpmqFomigKgiiqJIpiqShuiiGoonqKoZisapaj4dYl3WCo6i6a5KnaPotiQeoCj6MJsEsAhrDQLIDg6SoymySw2k6MgNAqJpQjO' + 
	'LRLFaUI0iyGxWlq/p6kIPY0m2Oxul2LZjDMRpmgiLoLiaaoIi4YxGinoY7kaauhnuGJlj2b4Lmaeo+m8Sx6mWOZhAubwCj2bpLhqKYJkyKTnECThYgoVJCCiYpPBIL5x' + 
	'EMLwWjsTQsGcGpGi6XBYkuRQLvcIhCE8DIWDCSZLiKdwqC+MpMjcLZKguXIcjiTJyFOQYnD+TYMmSLZOkmHJ3D6T50AybItiGYJji2MwABAECAg=');
	VisualAppearance.Add(2,'gBFLBCJwBAEHhEJAADhABOkGACAADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEYFDSAUIjKKkIhkGIYZBGQBJDjWGgyQjOEByDI' + 
	'MRwjE4YBpkGYYJDSIYHTZIUzTJAdGSVJKNKAoKCaEg2R4qsZCCKwUgmTo9VBJU9CFi6ZIRDSMFiyXZUIxHEKnIqrOjbBjaUpYABLErTBKUSzrEadAAwGbKJj+VJBULMV' + 
	'D2BDWGABOYAKarWa7fhaUqJUTVdI1VBOIYmADPcaqCxrLgMMpnWxpN42bjdPY7V6Bc7yXJsHimK5GUTQA4aFIENydJzINjsKBKBriLIybpeFr7BiME4/YLhAA0vZNUYs' + 
	'g0XguBqaAeEOIYUjqYQgGCCBJECUhjDoHROEYWooAGTRMCEEx9lGIY0CQUZOnuZQDBEdYFkeI5+H+igGAKAJgEgFgGgGUAzn4CoCmCSA2A6A5hAgCgQgSYRIE4EoFGGC' + 
	'BiBeBhhkgPgbgcYgICoH4IGGWIOCSBhiGiHgVgoYooFoAYLGIWI+DCCgjCiTgrgII4ImYOoOmOSJ1n4OpWmQDQBICA==');
	Background[EXTREECUBELib_TLB.exDateHeader] := $1000000;
	Background[EXTREECUBELib_TLB.exWeeksHeader] := $fafafa;
	Background[EXTREECUBELib_TLB.exDaysHeader] := $fafafa;
	Background[EXTREECUBELib_TLB.exDateTodayUp] := $2000000;
	Background[EXTREECUBELib_TLB.exDateTodayForeColor] := $ffffff;
	EnsureVisibleFace(EXTREECUBELib_TLB.exFrontFace,Null);
	EndUpdate();
end
45:
How can I add a FaceTree object ( method 2 )

with TreeCube1 do
begin
	with FrontFace do
	begin
		with CreateTree() do
		begin
			Items.ToString := 'Item <b>1,Item <b>2,Item <b>3';
			SelectItem := 1;
		end;
	end;
end
44:
How can I add a FaceTree object ( method 1 )

with TreeCube1 do
begin
	with FrontFace do
	begin
		Type := EXTREECUBELib_TLB.exFaceTree;
		with FaceTree do
		begin
			Items.ToString := 'Item <b>1,Item <b>2,Item <b>3';
			SelectItem := 1;
		end;
	end;
end
43:
How can I add a FaceCalendar object ( method 2 )

with TreeCube1 do
begin
	with FrontFace do
	begin
		with CreateCalendar() do
		begin
			AutoSize := EXTREECUBELib_TLB.exFitClient;
			Value := '12/31/1971';
		end;
	end;
end
42:
How can I add a FaceCalendar object ( method 1 )

with TreeCube1 do
begin
	with FrontFace do
	begin
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		with FaceCalendar do
		begin
			AutoSize := EXTREECUBELib_TLB.exFitClient;
			Value := '12/31/1971';
		end;
	end;
end
41:
How can I add a FacePicture object ( method 2 )

with TreeCube1 do
begin
	IdentifyFace := Integer(EXTREECUBELib_TLB.exIdentifyFaceFrame) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceName) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceCaption);
	with FrontFace do
	begin
		with CreatePicture() do
		begin
			Picture := TreeCube1.ExecuteTemplate('loadpicture(`c:\exontrol\images\zipdisk.gif`)');
			PictureDisplay := EXTREECUBELib_TLB.Tile;
			Width := '2 * pwidth';
			Height := '2 * pheight';
			Top := '122';
			Left := '46';
		end;
	end;
end
40:
How can I add a FacePicture object ( method 1 )

with TreeCube1 do
begin
	IdentifyFace := Integer(EXTREECUBELib_TLB.exIdentifyFaceFrame) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceName) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceCaption);
	with FrontFace do
	begin
		Type := EXTREECUBELib_TLB.exFacePicture;
		with FacePicture do
		begin
			Picture := TreeCube1.ExecuteTemplate('loadpicture(`c:\exontrol\images\zipdisk.gif`)');
			PictureDisplay := EXTREECUBELib_TLB.Tile;
			Width := '2 * pwidth';
			Height := '2 * pheight';
			Top := '122';
			Left := '46';
		end;
	end;
end
39:
How can I prevent bringing a specified face into the front
with TreeCube1 do
begin
	EnsureVisibleFaces := '0';
end
38:
Is it possible to show one face opaque, while other semi-transparent

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	DefaultFaceType := EXTREECUBELib_TLB.exFaceCalendar;
	TransparentContent := 75;
	FrontFace.TransparentContent := 0;
	EndUpdate();
end
37:
How can I add a Calendar control

with TreeCube1 do
begin
	BeginUpdate();
	Margins := '0,0,0,0';
	with FrontFace do
	begin
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		with FaceCalendar do
		begin
			ShowNonMonthDays := True;
			AutoSize := EXTREECUBELib_TLB.exFitClient;
		end;
	end;
	EndUpdate();
end
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.
procedure TForm1.TreeCube1InitFaceContent(ASender: TObject; Face : IFace);
begin
	// Face.FaceContent.ShowTodayButton = False
end;

with TreeCube1 do
begin
	DefaultFaceType := EXTREECUBELib_TLB.exFaceCalendar;
end
35:
How can I disable zoom when rolling the mouse wheel
with TreeCube1 do
begin
	OnMouseWheel := EXTREECUBELib_TLB.exMouseWheelNothing;
end
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.
procedure TForm1.TreeCube1Move(ASender: TObject; RotateDir : RotateEnum;FromFace : FaceEnum;ToFace : FaceEnum);
begin
	with TreeCube1 do
	begin
		FrontFace.FaceCalendar.Move(RotateDir,Null);
		with LeftFace.FaceCalendar do
		begin
			Date := TreeCube1.FrontFace.FaceCalendar.Date;
			PrevMonth(Null);
		end;
		with RightFace.FaceCalendar do
		begin
			Date := TreeCube1.FrontFace.FaceCalendar.Date;
			NextMonth(Null);
		end;
	end
end;

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	with VisualAppearance do
	begin
		Add(1,'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' + 
	'rBkgBICA');
		Add(2,'CP:1 -6 0 6 0');
	end;
	Background[EXTREECUBELib_TLB.exDateHeader] := $2000000;
	Background[EXTREECUBELib_TLB.exDateHeaderForeColor] := $ffffff;
	Background[EXTREECUBELib_TLB.exWeeksHeader] := $f0f0f0;
	Background[EXTREECUBELib_TLB.exDaysHeader] := $f0f0f0;
	Background[EXTREECUBELib_TLB.exDateTodayUp] := $2000000;
	Background[EXTREECUBELib_TLB.exDateTodayForeColor] := $ffffff;
	AllowRotate := Integer(EXTREECUBELib_TLB.exRotateRight) Or Integer(EXTREECUBELib_TLB.exRotateLeft);
	EnsureVisibleFaceOnDblClick := False;
	DefaultFaceType := EXTREECUBELib_TLB.exFaceCalendar;
	FrontFace.FaceCalendar.Date := '1/1/2016';
	TopFace.Type := EXTREECUBELib_TLB.exFaceNone;
	DownFace.Type := EXTREECUBELib_TLB.exFaceNone;
	AlwaysEnsureVisibleFace := Integer(EXTREECUBELib_TLB.exAlwaysVisibleFrontFace) Or Integer(EXTREECUBELib_TLB.exFitToEnsureFace);
	EndUpdate();
end
33:
Fisheye Calendar View - S

// FaceCalendarDateChanged event - Notifies that the user browses for a new date into a face of calendar type.
procedure TForm1.TreeCube1FaceCalendarDateChanged(ASender: TObject; Calendar : IFaceCalendar);
begin
	with TreeCube1 do
	begin
		currentDate := FrontFace.FaceCalendar.Date;
		with LeftFace.FaceCalendar do
		begin
			Date := currentDate;
			PrevMonth(Null);
		end;
		with RightFace.FaceCalendar do
		begin
			Date := currentDate;
			NextMonth(Null);
		end;
		with TopFace.FaceCalendar do
		begin
			Date := currentDate;
			PrevYear(Null);
		end;
		with DownFace.FaceCalendar do
		begin
			Date := currentDate;
			NextYear(Null);
		end;
	end
end;

// InitFaceCalendar event - Notifies your application that a face changes its type to exFaceCalendar.
procedure TForm1.TreeCube1InitFaceCalendar(ASender: TObject; Calendar : IFaceCalendar);
begin
	with TreeCube1 do
	begin
		with Calendar do
		begin
		end;
	end
end;

// Move event - Occurs once a new face became visible, by moving/rotating from a face to another, into the giving direction.
procedure TForm1.TreeCube1Move(ASender: TObject; RotateDir : RotateEnum;FromFace : FaceEnum;ToFace : FaceEnum);
begin
	with TreeCube1 do
	begin
		FrontFace.FaceCalendar.Move(RotateDir,Null);
	end
end;

with TreeCube1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAADhABXgCg6AADACAxRDAMgBQKAAzQFAYaBsHCGAAGMZRZgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDIAkRRdDSOYDmGQYDiCIoRShOMIjHL' + 
	'UXxtDaIZZmWCQCglf5HABRb7xPLoARTAaeJKoWboJAiGwLQjQUyABSdEyRJSLYhGIZRFqKZIRDSMFiwTZNVypAaIYqqaA6qzfJymabAAZJEradozTLIE7xVLEVYNKCmZ' + 
	'CwMAAcgmEQgSTAda2BYELTzECoYDGCrcKpWCaNQLWEB5BQeJSNL6kIqsazgAqPLJtWhaVwxXIEI5AAC5QA0S7pOxeO6JbRGdZbNrlbz1PTMaazTgYDzmWqiYxxMraXxS' + 
	'lmMprGsIpVl2LRnD0A5bnSN49mAARAlIYw6B0ThGFGDIBG0QghBMfZRiGNAkFECZoG6YQBgiOgCmuRRSg6GAElWAJMkgFgGgGYIIAyVQ7GCRhUAAOQhAMBgSDWIRDG4F' + 
	'g3CGCBmBmBYNjgUJWDIIgIECZBCEsKIUkqCZhiiJgqgaYRjB4LguiMBAkiqDLenYrBjgiZg6gGIwyioMoNCAWJqEKEJjkiTg/CqIxZA4SoNmQWJ5AODxMlkRJehSZRJF' + 
	'YVoVmUEw2D2EZlhkXhehfURuE+DJllkfhmhUJgZBoYwqiWEx+G6G5nAmRhyhoZJgAIUIUGcKZmHqHQlkmYh6h+Zp5nIawzigQ4CgaIZogoJoKiEDJpgodoMmiSgqhKJN' + 
	'xDoPQzmmA4GhqJppkodoeiYDJ6FpaQpmqFomigKgiiqJIpiqShuiiGoonqKoZisapaj4dYl3WCo6i6a5KnaPotiQeoCj6MJsEsAhrDQLIDg6SoymySw2k6MgNAqJpQjO' + 
	'LRLFaUI0iyGxWlq/p6kIPY0m2Oxul2LZjDMRpmgiLoLiaaoIi4YxGinoY7kaauhnuGJlj2b4Lmaeo+m8Sx6mWOZhAubwCj2bpLhqKYJkyKTnECThYgoVJCCiYpPBIL5x' + 
	'EMLwWjsTQsGcGpGi6XBYkuRQLvcIhCE8DIWDCSZLiKdwqC+MpMjcLZKguXIcjiTJyFOQYnD+TYMmSLZOkmHJ3D6T50AybItiGYJji2MwABAECAg=');
	Background[EXTREECUBELib_TLB.exDateHeader] := $1000000;
	Background[EXTREECUBELib_TLB.exWeeksHeader] := $fafafa;
	Background[EXTREECUBELib_TLB.exDaysHeader] := $fafafa;
	Background[EXTREECUBELib_TLB.exDateTodayUp] := $2000000;
	Background[EXTREECUBELib_TLB.exDateTodayForeColor] := $ffffff;
	TexturePicturePath := '';
	DefaultFaceType := EXTREECUBELib_TLB.exFaceCalendar;
	AlwaysEnsureVisibleFace := Integer(EXTREECUBELib_TLB.exAlwaysVisibleFrontFace) Or Integer(EXTREECUBELib_TLB.exFitToEnsureFace);
	FrontFace.FaceCalendar.Date := '1/1/2016';
	EndUpdate();
end
32:
While navigating the Down/Top faces, I am not able to rotate it. Is it possible (ensure always front face)
with TreeCube1 do
begin
	EnsureVisibleFace(EXTREECUBELib_TLB.exDownFace,OleVariant(False));
	AlwaysEnsureVisibleFace := Integer(EXTREECUBELib_TLB.exAlwaysVisibleFrontFace) Or Integer(EXTREECUBELib_TLB.exFitToEnsureFace);
end
31:
How can I show a single month only

with TreeCube1 do
begin
	with FrontFace do
	begin
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		with FaceCalendar do
		begin
			Date := '1/1/2001';
			SelDate := Date;
			MinDate := '1/1/2001';
			MaxDate := '1/31/2001';
			FirstWeekDay := EXTREECUBELib_TLB.exMonday;
			ShowWeeks := False;
			ShowNonMonthDays := False;
			ShowTodayButton := False;
			MaxMonthX := MinMonthX;
			MaxMonthY := MinMonthY;
		end;
	end;
end
30:
How can I show date calendar

with TreeCube1 do
begin
	with FrontFace do
	begin
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		FaceCalendar.ShowNonMonthDays := False;
	end;
end
29:
How can I prevent dbl click to ensure the clicked face is visible
with TreeCube1 do
begin
	EnsureVisibleFaceOnDblClick := False;
end
28:
How can I put a picture into the center of the texture but behind the control's face

with TreeCube1 do
begin
	BeginUpdate();
	HTMLPicture['logo'] := 'c:\exontrol\images\zipdisk.gif';
	with FrontFace do
	begin
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		FaceCalendar.ShowTodayButton := False;
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceCaption] := '<img>logo</img>';
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceAnchor] := OleVariant(0);
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceHTMLRotate] := OleVariant(0);
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceHTMLRotate] := OleVariant(0);
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceLeft] := '(width-twidth)/2';
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceTop] := '(height-theight)/2';
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceWidth] := 'twidth';
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceHeight] := 'theight';
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceVisible] := OleVariant(1);
	end;
	FrontFace.FaceCalendar.ForeColor := $ff;
	EndUpdate();
end
27:
How do I put my logo on the right-bottom side of the face (method 2), while I using the face

with TreeCube1 do
begin
	BeginUpdate();
	HTMLPicture['logo'] := 'c:\exontrol\images\zipdisk.gif';
	with FrontFace do
	begin
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		FaceCalendar.ShowTodayButton := False;
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceCaption] := '<r><img>logo</img>';
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceAnchor] := OleVariant(2);
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceHTMLRotate] := OleVariant(0);
	end;
	EndUpdate();
end
26:
Is it possible to show two or more titles/extra titles

with TreeCube1 do
begin
	BeginUpdate();
	with FrontFace do
	begin
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		FaceCalendar.ShowTodayButton := False;
		Title[EXTREECUBELib_TLB.exTitleFaceCaption] := '<font ;18><c><fgcolor=0000FF>This is the title';
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceCaption] := '<font ;18><c><fgcolor=FF0000>This is the extra title';
		ExtraTitle['extra',EXTREECUBELib_TLB.exTitleFaceAnchor] := OleVariant(2);
	end;
	EndUpdate();
end
25:
How can I display the title at the left side of the face

with TreeCube1 do
begin
	BeginUpdate();
	with FrontFace do
	begin
		Title[EXTREECUBELib_TLB.exTitleFaceCaption] := '<font ;18><c>This is the title';
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		FaceCalendar.ShowTodayButton := False;
		Title[EXTREECUBELib_TLB.exTitleFaceAnchor] := OleVariant(4);
	end;
	EndUpdate();
end
24:
How can I display the title at the bottom side of the face

with TreeCube1 do
begin
	BeginUpdate();
	with FrontFace do
	begin
		Title[EXTREECUBELib_TLB.exTitleFaceCaption] := '<font ;18><c>This is the title';
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		FaceCalendar.ShowTodayButton := False;
		Title[EXTREECUBELib_TLB.exTitleFaceAnchor] := OleVariant(2);
		Title[EXTREECUBELib_TLB.exTitleFaceHTMLRotate] := OleVariant(0);
	end;
	EndUpdate();
end
23:
Can I display the title to a different position

with TreeCube1 do
begin
	BeginUpdate();
	with FrontFace do
	begin
		Title[EXTREECUBELib_TLB.exTitleFaceCaption] := '<font ;18><c><bgcolor=FFFFFF>This is the title';
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		Title[EXTREECUBELib_TLB.exTitleFaceVisible] := OleVariant(-1);
		Title[EXTREECUBELib_TLB.exTitleFaceTop] := '(height-theight)/2';
	end;
	EndUpdate();
end
22:
How can I display a title for a face

with TreeCube1 do
begin
	BeginUpdate();
	with FrontFace do
	begin
		Title[EXTREECUBELib_TLB.exTitleFaceCaption] := '<font ;18><c>This is the title';
		Type := EXTREECUBELib_TLB.exFaceCalendar;
	end;
	EndUpdate();
end
21:
Can I put the picture at specified position

with TreeCube1 do
begin
	IdentifyFace := Integer(EXTREECUBELib_TLB.exIdentifyFaceFrame) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceName) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceCaption);
	with FrontFace do
	begin
		Type := EXTREECUBELib_TLB.exFacePicture;
		with FacePicture do
		begin
			Picture := TreeCube1.ExecuteTemplate('loadpicture(`c:\exontrol\images\zipdisk.gif`)');
			PictureDisplay := EXTREECUBELib_TLB.Tile;
			Width := '2 * pwidth';
			Height := '2 * pheight';
			Top := '122';
			Left := '46';
		end;
	end;
end
20:
How do I put my logo on the right-bottom side of the face (method 1)

with TreeCube1 do
begin
	IdentifyFace := Integer(EXTREECUBELib_TLB.exIdentifyFaceFrame) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceName) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceCaption);
	with FrontFace do
	begin
		Type := EXTREECUBELib_TLB.exFacePicture;
		with FacePicture do
		begin
			Picture := TreeCube1.ExecuteTemplate('loadpicture(`c:\exontrol\images\zipdisk.gif`)');
			PictureDisplay := EXTREECUBELib_TLB.LowerRight;
			Width := 'width';
			Height := 'height';
			Top := '0';
			Left := '0';
		end;
	end;
end
19:
Can I use any picture on the background's faces

with TreeCube1 do
begin
	BeginUpdate();
	TexturePicturePath := '';
	Face[EXTREECUBELib_TLB.exFrontFace].Picture := TreeCube1.ExecuteTemplate('loadpicture(`c:\exontrol\images\zipdisk.gif`)');
	Face[EXTREECUBELib_TLB.exBottomFace].Picture := TreeCube1.ExecuteTemplate('loadpicture(`c:\exontrol\images\auction.gif`)');
	Face[EXTREECUBELib_TLB.exRightFace].Picture := TreeCube1.ExecuteTemplate('loadpicture(`c:\exontrol\images\colorize.gif`)');
	Face[EXTREECUBELib_TLB.exLeftFace].Picture := TreeCube1.ExecuteTemplate('loadpicture(`c:\exontrol\images\colorize.gif`)');
	Face[EXTREECUBELib_TLB.exTopFace].Picture := TreeCube1.ExecuteTemplate('loadpicture(`c:\exontrol\images\auction.gif`)');
	Face[EXTREECUBELib_TLB.exDownFace].Picture := TreeCube1.ExecuteTemplate('loadpicture(`c:\exontrol\images\zipdisk.gif`)');
	AlwaysEnsureVisibleFace := EXTREECUBELib_TLB.exDisableEnsureVisibleFace;
	EndUpdate();
end
18:
Is it possible to show the cube's texture more transparent, so the faces are more visible

with TreeCube1 do
begin
	BeginUpdate();
	Transparent := 80;
	TexturePicturePath := 'C:\Program Files\Exontrol\ExTexture\Sample\Texture\VW';
	AlwaysEnsureVisibleFace := EXTREECUBELib_TLB.exDisableEnsureVisibleFace;
	IdentifyFace := EXTREECUBELib_TLB.exIdentifyFaceFrame;
	with TopFace do
	begin
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		with FaceCalendar do
		begin
			Date := '2/1/2016';
			MaxMonthX := 1;
			MaxMonthY := 1;
		end;
	end;
	with LeftFace do
	begin
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		with FaceCalendar do
		begin
			Date := '3/1/2016';
			MaxMonthX := 1;
			MaxMonthY := 1;
		end;
	end;
	with FrontFace do
	begin
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		with FaceCalendar do
		begin
			Date := '4/1/2016';
			MaxMonthX := 1;
			MaxMonthY := 1;
		end;
	end;
	with RightFace do
	begin
		Type := EXTREECUBELib_TLB.exFaceCalendar;
		with FaceCalendar do
		begin
			Date := '5/1/2016';
			MaxMonthX := 1;
			MaxMonthY := 1;
		end;
	end;
	ShowAs := EXTREECUBELib_TLB.exFishEye;
	AlwaysEnsureVisibleFace := EXTREECUBELib_TLB.exDisableEnsureVisibleFace;
	IdentifyFace := EXTREECUBELib_TLB.exIdentifyFaceFrame;
	EndUpdate();
end
17:
How can I load a different texture on the cube

with TreeCube1 do
begin
	TexturePicturePath := 'C:\Program Files\Exontrol\ExTexture\Sample\Texture\VW';
end
16:
How can I show no texture/picture on all faces

with TreeCube1 do
begin
	TexturePicturePath := '';
	IdentifyFace := Integer(EXTREECUBELib_TLB.exIdentifyFaceFrame) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceName) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceCaption);
	IdentifyFaceCaption := '<sha ;;0><fgcolor=000000>Face <%index%></font> <%name%>';
end
15:
Fish-Eye Rectangular

with TreeCube1 do
begin
	BeginUpdate();
	ShowAs := EXTREECUBELib_TLB.exFishEye;
	Internals := 'zoommin=1;zoomdefault=1;zoommax=1;zoomdivsmall=256;zoomdivlarge=48;fisheyepersp=4';
	IdentifyFace := EXTREECUBELib_TLB.exIdentifyFaceFrame;
	TopFace.Type := EXTREECUBELib_TLB.exFaceCalendar;
	LeftFace.Type := EXTREECUBELib_TLB.exFaceCalendar;
	FrontFace.Type := EXTREECUBELib_TLB.exFaceCalendar;
	RightFace.Type := EXTREECUBELib_TLB.exFaceCalendar;
	EndUpdate();
end
14:
Orthographic

with TreeCube1 do
begin
	BeginUpdate();
	ShowAs := EXTREECUBELib_TLB.exOrthographic;
	AlwaysEnsureVisibleFace := EXTREECUBELib_TLB.exDisableEnsureVisibleFace;
	IdentifyFace := EXTREECUBELib_TLB.exIdentifyFaceFrame;
	TopFace.Type := EXTREECUBELib_TLB.exFaceCalendar;
	LeftFace.Type := EXTREECUBELib_TLB.exFaceCalendar;
	FrontFace.Type := EXTREECUBELib_TLB.exFaceCalendar;
	RightFace.Type := EXTREECUBELib_TLB.exFaceCalendar;
	RotX := 0.748933;
	RotY := 0.617099;
	Zoom := 1;
	EndUpdate();
end
13:
Fish-Eye Default

with TreeCube1 do
begin
	BeginUpdate();
	ShowAs := EXTREECUBELib_TLB.exFishEye;
	AlwaysEnsureVisibleFace := EXTREECUBELib_TLB.exDisableEnsureVisibleFace;
	IdentifyFace := EXTREECUBELib_TLB.exIdentifyFaceFrame;
	TopFace.Type := EXTREECUBELib_TLB.exFaceCalendar;
	LeftFace.Type := EXTREECUBELib_TLB.exFaceCalendar;
	FrontFace.Type := EXTREECUBELib_TLB.exFaceCalendar;
	RightFace.Type := EXTREECUBELib_TLB.exFaceCalendar;
	RotX := 0;
	RotY := 0.8;
	Zoom := 1;
	EndUpdate();
end
12:
I know the user can drag the cube to any position. The question is how can I restore the layout

with TreeCube1 do
begin
	IdentifyFace := Integer(EXTREECUBELib_TLB.exIdentifyFaceFrame) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceName) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceCaption);
	RotX := 0.25;
	RotY := 0.75;
	Zoom := 1;
end
11:
How do I put my logo on the right-bottom side of the control

with TreeCube1 do
begin
	Picture := TreeCube1.ExecuteTemplate('loadpicture(`c:\exontrol\images\zipdisk.gif`)');
end
10:
How do I bring/ensure a specified face to the front

with TreeCube1 do
begin
	IdentifyFace := Integer(EXTREECUBELib_TLB.exIdentifyFaceFrame) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceName) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceCaption);
	VisibleFace := EXTREECUBELib_TLB.exTopFace;
end
9:
How do I bring/ensure a specified face to the front

with TreeCube1 do
begin
	IdentifyFace := Integer(EXTREECUBELib_TLB.exIdentifyFaceFrame) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceName) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceCaption);
	EnsureVisibleFace(EXTREECUBELib_TLB.exTopFace,Null);
end
8:
It sounds like the BackColor property does nothing

with TreeCube1 do
begin
	BackColor := RGB(255,0,0);
	Transparent := 50;
end
7:
Is there any property to identify the faces I can fill in

with TreeCube1 do
begin
	IdentifyFace := Integer(EXTREECUBELib_TLB.exIdentifyFaceFrame) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceName) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceCaption);
end
6:
How can I prevent scrolling the control inside a face once the user rolls the mouse wheel
with TreeCube1 do
begin
	OnMouseWheel := EXTREECUBELib_TLB.exMouseWheelNothing;
end
5:
Can I navigate through the faces 0 to 3 only, even with the keyboard
with TreeCube1 do
begin
	EnsureVisibleFaces := '0,1,2,3';
	AllowRotate := Integer(EXTREECUBELib_TLB.exRotateRight) Or Integer(EXTREECUBELib_TLB.exRotateLeft);
	IdentifyFace := Integer(EXTREECUBELib_TLB.exIdentifyFaceFrame) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceName) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceCaption);
	EnsureVisibleFaceOnDblClick := False;
end
4:
It sounds like the BackColor property does nothing

with TreeCube1 do
begin
	BackColor := RGB(255,0,0);
	ShowAs := EXTREECUBELib_TLB.exOrthographic;
	AlwaysEnsureVisibleFace := EXTREECUBELib_TLB.exDisableEnsureVisibleFace;
	RotX := 0.328184;
	RotY := 0.967723;
end
3:
Is it possible to let the control shows/rotates just the left/right side
with TreeCube1 do
begin
	AllowRotate := Integer(EXTREECUBELib_TLB.exRotateRight) Or Integer(EXTREECUBELib_TLB.exRotateLeft);
end
2:
How can I disable changing the view if the user presses SPACE or digit keys
with TreeCube1 do
begin
	AllowEnsureVisibleFaceOnKey := EXTREECUBELib_TLB.exEnsureVisibleFaceOnKeyDisabled;
end
1:
I've noticed that I can not show the part of the control as I drag, once I release the mouse button

with TreeCube1 do
begin
	IdentifyFace := Integer(EXTREECUBELib_TLB.exIdentifyFaceFrame) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceName) Or Integer(EXTREECUBELib_TLB.exIdentifyFaceCaption);
	AlwaysEnsureVisibleFace := EXTREECUBELib_TLB.exDisableEnsureVisibleFace;
end