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

with CascadeFile1 do
begin
	BeginUpdate();
	ImageSize := 32;
	DefaultItemHeight := 36;
	HeaderHeight := DefaultItemHeight;
	Font.Size := 16;
	ToolTipFont.Size := CascadeFile1.Font.Size;
	Indent := 26;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6' + 
	'CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/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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' + 
	'RBCCQAgQEA==');
		Add(3,'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');
		Add(4,'gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL' + 
	'UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU' + 
	'rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3' + 
	'NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY' + 
	'YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm' + 
	'WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo' + 
	'WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS' + 
	'e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF' + 
	'CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==');
	end;
	BackColorHeader := $4c6c6c6;
	SelBackColor := $4f0f0f0;
	SelForeColor := RGB(0,0,1);
	HotBackColor := $4f8f8f8;
	Background[EXMILLERLib_TLB.exCheckBoxState0] := $1000000;
	Background[EXMILLERLib_TLB.exCheckBoxState1] := $2000000;
	Background[EXMILLERLib_TLB.exCheckBoxState2] := $3000000;
	ExpandFolders := True;
	HasCheckBox := EXMILLERLib_TLB.PartialCheckBox;
	ExploreFromHere := '';
	Select := 'C:';
	EndUpdate();
end
141
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

with CascadeFile1 do
begin
	BeginUpdate();
	ImageSize := 16;
	with VisualAppearance do
	begin
		Add(4,'gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL' + 
	'UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU' + 
	'rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3' + 
	'NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY' + 
	'YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm' + 
	'WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo' + 
	'WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS' + 
	'e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF' + 
	'CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==');
	end;
	BackColorHeader := $4c6c6c6;
	SelBackColor := $4f0f0f0;
	SelForeColor := RGB(0,0,1);
	HotBackColor := $4f8f8f8;
	ExpandFolders := True;
	HasCheckBox := EXMILLERLib_TLB.PartialCheckBox;
	ExploreFromHere := '';
	Select := 'C:';
	EndUpdate();
end
140
How can I add a checkbox to each item

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( Get[EXMILLERLib_TLB.CheckItems] );
	end
end;

with CascadeFile1 do
begin
	HasCheckBox := EXMILLERLib_TLB.PartialCheckBox;
	ExploreFromHere := 'C:/';
end
139
How do I get the selected file/files
// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( Select );
	end
end;

with CascadeFile1 do
begin
	ExploreFromHere := 'C:/';
end
138
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop

with CascadeFile1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVI' + 
	'UcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4a' + 
	'DhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBe' + 
	'EMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIB' + 
	'ICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokG' + 
	'KHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=');
		Add(2,'CP:1 0 -36 0 0');
	end;
	Background[EXMILLERLib_TLB.exColumnsPositionSign] := $2000000;
	StatusBarVisible := EXMILLERLib_TLB.exStatusBarNone;
	Mode := EXMILLERLib_TLB.exSingleCascadeMode;
	EndUpdate();
end
137
How can I specify my favorites folders

with CascadeFile1 do
begin
	BeginUpdate();
	HeaderVisible := False;
	ExploreFromHere := '::{450d8fba-ad25-11d0-98a8-0800361b1103}|::{018D5C66-4533-4307-9B53-224DE2ED1FE6}|::{20D04FE0-3AEA-1069-A2D8-08002B30309D}|::{F0' + 
	'2C1A0D-BE21-4350-88B0-7367FC96EF3C}';
	Select := 'C:\Windows';
	EndUpdate();
end
136
How can I add the "My Documents"

with CascadeFile1 do
begin
	ExploreFromHere := 'C:\|::{450d8fba-ad25-11d0-98a8-0800361b1103}>';
end
135
How can I add the Printers and Faxes

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	ExploreFromHere := 'C:\|::{2227a280-3aea-1069-a2de-08002b30309d}>';
end
134
How can I add the "Recycle Bin" folder

with CascadeFile1 do
begin
	ExploreFromHere := 'C:\|::{645FF040-5081-101B-9F08-00AA002F954E}>';
end
133
How can I add the "Documents" folder

with CascadeFile1 do
begin
	ExploreFromHere := 'C:\|::{450D8FBA-AD25-11D0-98A8-0800361B1103}>';
end
132
How can I add the Network folder

with CascadeFile1 do
begin
	ExploreFromHere := 'C:\|::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}>';
end
131
How can I add the My Computer

with CascadeFile1 do
begin
	ExploreFromHere := 'C:\|::{20D04FE0-3AEA-1069-A2D8-08002B30309D}>';
end
130
How can I add the My Network Places folder

with CascadeFile1 do
begin
	ExploreFromHere := 'C:\|::{208D2C60-3AEA-1069-A2D7-08002B30309D}>';
end
129
How can I add the Desktop folder

with CascadeFile1 do
begin
	ExploreFromHere := 'C:\|::{00021400-0000-0000-C000-000000000046}>';
end
128
How can I create my own favorites folders

with CascadeFile1 do
begin
	BeginUpdate();
	ExploreFromHere := '::{450d8fba-ad25-11d0-98a8-0800361b1103}|C:\Temp><b>My Projects</b>|';
	Select := 'C:\Temp';
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	HeaderVisible := False;
	FitCascadeColumns := 3;
	EndUpdate();
end
127
How can change the explore from folder (sample 2)

with CascadeFile1 do
begin
	ExploreFromHere := 'C:\>';
	Layout := 'Expand0 = "C:\";SelectMode0 = 0';
end
126
How can change the explore from folder (sample 1)

with CascadeFile1 do
begin
	ExploreFromHere := 'C:\';
end
125
Is it possible to include more system drives as root folders (sample 2)

with CascadeFile1 do
begin
	ExploreFromHere := 'C:\>SYSTEM <off 4><b>1|D:\>SYSTEM <off 4><b>2|E:\>SYSTEM <off 4><b>3';
end
124
Is it possible to include more system drives as root folders (sample 1)

with CascadeFile1 do
begin
	ExploreFromHere := 'C:\|D:\|E:\';
end
123
How can I include a system drive as a root folder, instead lists its content

with CascadeFile1 do
begin
	ExploreFromHere := 'C:\>';
	Layout := 'Expand0 = "C:\";SelectMode0 = 0';
end
122
How can I add the Desktop as a root folder (sample 3, rename, new display name, root)

with CascadeFile1 do
begin
	ExploreFromHere := '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}><sha ;;0>This <b>PC</b>';
end
121
How can I add the Desktop as a root folder (sample 2)

with CascadeFile1 do
begin
	ExploreFromHere := '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}>';
end
120
How can I add the Desktop as a root folder (sample 1)

with CascadeFile1 do
begin
	ExploreFromHere := '>';
	Select := '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}';
	SelectMode := EXMILLERLib_TLB.exSelectModeList;
end
119
How can I browse the "Public" folder

with CascadeFile1 do
begin
	ExploreFromHere := '::{4336a54d-038b-4685-ab02-99bb52d3fb8b}>';
end
118
How can I browse the "Libraries" folder

with CascadeFile1 do
begin
	ExploreFromHere := '::{031E4825-7B94-4dc3-B131-E946B44C8DD5}>';
end
117
How can I browse the "HomeGroup" folder

with CascadeFile1 do
begin
	ExploreFromHere := '::{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}>';
end
116
How can I browse the "Games" folder

with CascadeFile1 do
begin
	ExploreFromHere := '::{ED228FDF-9EA8-4870-83b1-96b02CFE0D52}>';
end
115
How can I browse the "OneDrive" folder

with CascadeFile1 do
begin
	ExploreFromHere := '::{018D5C66-4533-4307-9B53-224DE2ED1FE6}>';
end
114
How can I browse the "Recycle Bin" folder

with CascadeFile1 do
begin
	ExploreFromHere := '::{645FF040-5081-101B-9F08-00AA002F954E}';
end
113
How can I browse the "Documents" folder

with CascadeFile1 do
begin
	ExploreFromHere := '::{450D8FBA-AD25-11D0-98A8-0800361B1103}';
end
112
How can I browse the Network folder

with CascadeFile1 do
begin
	ExploreFromHere := '::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}';
end
111
How can I browse the My Computer

with CascadeFile1 do
begin
	ExploreFromHere := '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}';
end
110
How can I browse the My Network Places folder

with CascadeFile1 do
begin
	ExploreFromHere := '::{208D2C60-3AEA-1069-A2D7-08002B30309D}';
end
109
How can I browse the Desktop folder

with CascadeFile1 do
begin
	ExploreFromHere := '::{00021400-0000-0000-C000-000000000046}';
end
108
How can I select multiple files

with CascadeFile1 do
begin
	Select := 'C:\\r\nD:\\r\nE:\';
end
107
How can I select a single file

with CascadeFile1 do
begin
	Select := 'C:\';
end
106
Can I change the folder being explored

with CascadeFile1 do
begin
	ExploreFromHere := 'c:\Program Files';
end
105
How can I turn on the Thumbnail mode

with CascadeFile1 do
begin
	Select := 'C:\';
	SelectMode := EXMILLERLib_TLB.exSelectModeThumbnail;
end
104
How to turn off the Auto-Update feature
with CascadeFile1 do
begin
	AutoUpdate := False;
end
103
I can not make a column larger, by resizing its header, as it splits the control's header only. What can I do

with CascadeFile1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	StatusBarVisible := EXMILLERLib_TLB.exStatusBarNone;
	Mode := EXMILLERLib_TLB.exSingleCascadeMode;
	Select := 'c:\Windows';
	EndUpdate();
end
102
How can hide the column's header

with CascadeFile1 do
begin
	BeginUpdate();
	HeaderVisible := False;
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Select := 'C:\Windows';
	FitCascadeColumns := 3;
	EndUpdate();
end
101
How can hide the Modified, Size and Type columns

with CascadeFile1 do
begin
	BeginUpdate();
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Select := 'C:\Windows';
	FitCascadeColumns := 3;
	EndUpdate();
end
100
How can I hide the +/- buttons, so I can show just plain lists, no children

with CascadeFile1 do
begin
	BeginUpdate();
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	ExpandFolders := False;
	HeaderVisible := False;
	Select := 'C:\Windows';
	FitCascadeColumns := 3;
	EndUpdate();
end
99
A small rectangle is shown around the item that has the focus. Can I hide that
with CascadeFile1 do
begin
	ShowFocusRect := False;
end
98
How can I get ride of the hot selection color
with CascadeFile1 do
begin
	BeginUpdate();
	HotBackColor := $ffffffff;
	HotForeColor := $ffffffff;
	EndUpdate();
end
97
How can I change the control's selection color (sample 3)

with CascadeFile1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(2,'XP:Button 1 2');
		Add(1,'CP:2 -1 0 1 0');
		Add(4,'XP:Button 1 1');
		Add(3,'CP:4 -1 0 1 0');
	end;
	FitCascadeColumns := 2;
	Select := 'c:\';
	FullRowSelect := True;
	ExpandFolders := False;
	SelBackColor := $1000000;
	SelForeColor := RGB(0,0,0);
	HotBackColor := $3000000;
	HotForeColor := RGB(0,0,0);
	EndUpdate();
end
96
How can I change the control's selection color (sample 2)

with CascadeFile1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABNACg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASVA' + 
	'ceAAGaUZrjSgobjmOYhAJCKJUWAFFoVDCgZThGgJHomMIhBDHASQTQ8EytJqmKajCaRSDUJZkWZOIyjBd6a5tVbXEaVTAccxhOKeahvGo5Fred40TRINCWHI1d4NH69J' + 
	'bwMILSgME6FABXdhWFC+Ex9Kiea7kOqIJwyA5bY5kGRWDRkLzROAALJ1Cz7KqydpDYyAGbABagAYfPy8JzxHKNarfA5GZzuG4zdi8U41WCBdpnHQNS4KL6ndBbWrdFoi' + 
	'C8X4QnAOQ8B4dwiHQCIEhQDQmDOIZUmQZYDkIVRSmIEQ3lUGwbEIRQQh4ZpeEQGIMB0JZdkoc4XnqVB/k0CAGAKAJgEgFgGgGYBXnyVA5mCRQ4maA5NjgRJvgSTwoFYF' + 
	'oFmGCBmBqBphhgTJvDcIkFlWCJhmOLgmDoYoIiYKoKmKSI2C6CwiGOLJwgyTJ4lYAg8mOCI+DqDpjkiMJ0g+TJZAYN4OGOWQWEaCpjnOUhBDMZAzk4MYTmUCRGFKFJlE' + 
	'kRhJhKZJTjIWoWmWSR2F6F5mAmBhbhWZAoASdYZk6WYmGqGpmkmNhuhulQonaHJlgmGhnDuJ4JmYeoemeSZ2H6H5nhmTJ2h0TQKAoHohmiCgmgqIpokoJJ3iOaBKDydw' + 
	'8GkShWhaJZpgoZoaiaaRTmKHokGieJiiKKJqEqFomimaoKg6Hg+CgSouimK5rAqRg4D4axKjaHoSGuCpmjqLprkqdo6i0D4aBKQIgiwSwWkaMZsgsJpGD6LJLAqNIyi0' + 
	'CxGlKHJskOahLgKJhzlaK4gi2GxOl6MZtjmTJOjiX5ThSWo5mMM5CkCOpukuNpujubwLiYEY8k2NQ4mqPZNhuZgIj6b5LnaeQ2GXsJrGuQAEAQgI');
	FitCascadeColumns := 2;
	Select := 'c:\';
	FullRowSelect := True;
	SelBackColor := $1e0e0e0;
	SelForeColor := RGB(0,0,0);
	EndUpdate();
end
95
How can I change the control's selection color (sample 1)

with CascadeFile1 do
begin
	BeginUpdate();
	FitCascadeColumns := 2;
	Select := 'c:\';
	FullRowSelect := True;
	SelBackColor := RGB(0,0,0);
	SelForeColor := RGB(255,255,255);
	EndUpdate();
end
94
How can I select the entire item, rather that name only

with CascadeFile1 do
begin
	BeginUpdate();
	Select := 'c:\|d:\|e:\';
	SelectMode := EXMILLERLib_TLB.exSelectModeList;
	FullRowSelect := True;
	EndUpdate();
end
93
Is it possible to show the selection with a different color, when the control loses the focus

with CascadeFile1 do
begin
	BeginUpdate();
	HideSelection := False;
	Background[EXMILLERLib_TLB.BackgroundPartEnum($a6)] := $e0e0e0;
	Background[EXMILLERLib_TLB.BackgroundPartEnum($a7)] := $404040;
	Select := 'c:\|d:\|e:\';
	SelectMode := EXMILLERLib_TLB.exSelectModeList;
	EndUpdate();
end
92
The selection is still shown when the control loses the focus. Is it possible to hide it
with CascadeFile1 do
begin
	HideSelection := True;
end
91
How can I enable single-selection
with CascadeFile1 do
begin
	SingleSel := True;
end
90
Predefined Keywords of ShowContextMenu property

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		ExecuteContextMenu := 0;
	end
end;

with CascadeFile1 do
begin
	BeginUpdate();
	ScrollPartVisible[EXMILLERLib_TLB.exVScroll,EXMILLERLib_TLB.exExtentThumbPart] := True;
	ScrollPartVisible[EXMILLERLib_TLB.exHScroll,EXMILLERLib_TLB.exExtentThumbPart] := True;
	ScrollPartVisible[EXMILLERLib_TLB.exScroll,EXMILLERLib_TLB.exExtentThumbPart] := True;
	ScrollWidth := 4;
	Background[EXMILLERLib_TLB.exVSBack] := $f0f0f0;
	Background[EXMILLERLib_TLB.exVSThumb] := $808080;
	ScrollHeight := 4;
	Background[EXMILLERLib_TLB.exHSBack] := Background[EXMILLERLib_TLB.exVSBack];
	Background[EXMILLERLib_TLB.exHSThumb] := Background[EXMILLERLib_TLB.exVSThumb];
	Background[EXMILLERLib_TLB.exScrollSizeGrip] := Background[EXMILLERLib_TLB.exVSBack];
	EndUpdate();
	AllowSplitView := EXMILLERLib_TLB.exAllowTwoSplitView;
	FitCascadeColumns := 3;
	ShowContextMenu := '`menu(` + menu + `)` + `,filecount=` + filecount + `,fileattr=` + hex(fileattr) + `,filename=` + filename + `,fileparsename=` + ' + 
	'fileparsename + `,filefullname=` + filefullname + `,[sep]` + `,vlevels=` + vlevels + `,vlevel=` + vlevel + `,hlevels=` + hlevels' + 
	' + `,hlevel=` + hlevel + `,view=` + view + `,[sep]` + `,selectmode=` + selectmode';
	SplitViewHeight := '256,256';
	Layout := 'Select1="C:\"';
	Select := 'C:\Windows';
end
89
How can I display the identifiers of the control's context menu (debug)

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ExecuteContextMenu' );
		OutputDebugString( ExecuteContextMenu );
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
	SingleSel := False;
	ShowContextMenu := '`[debug]` + menu';
end
88
How can I copy/execute command a file/folder (selection)
with CascadeFile1 do
begin
	BeginUpdate();
	SingleSel := False;
	ExploreFromHere := 'c:\';
	ExpandFolders := True;
	Select := 'c:\Temp';
	ExecuteContextCommand('<selection>',True,'Copy');
	EndUpdate();
end
87
How can I copy a file/folder (absolute name)
with CascadeFile1 do
begin
	BeginUpdate();
	ExploreFromHere := 'c:\';
	ExecuteContextCommand('c:\Temp',True,'Copy');
	EndUpdate();
end
86
How can I copy a file/folder (relative name)
with CascadeFile1 do
begin
	BeginUpdate();
	ExploreFromHere := 'c:\';
	ExecuteContextCommand('Temp',True,'Copy');
	EndUpdate();
end
85
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ExecuteContextMenu' );
		OutputDebugString( ExecuteContextMenu );
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
	SingleSel := False;
	FullRowSelect := True;
	ShowContextMenu := 'filecount = 0 ? `Exit[id=1000]` : ( ( ( filecount = 1 ) ? `"` + filename + `"` : `multiple selection` ) + `[dis],[sep],` + menu)' + 
	'';
end
84
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ExecuteContextMenu' );
		OutputDebugString( ExecuteContextMenu );
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
	SingleSel := False;
	FullRowSelect := True;
	ShowContextMenu := 'filecount > 1 ? `multiple selection[dis]` : menu';
end
83
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ExecuteContextMenu' );
		OutputDebugString( ExecuteContextMenu );
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
	SingleSel := False;
	FullRowSelect := True;
	ShowContextMenu := 'filecount > 1 ? `multiple selection[dis]` : menu';
end
82
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ExecuteContextMenu' );
		OutputDebugString( ExecuteContextMenu );
	end
end;

with CascadeFile1 do
begin
	ExploreFromHere := 'c:\';
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
	SingleSel := False;
	FullRowSelect := True;
	ExpandFolders := True;
	ShowContextMenu := 'menu replace `Delete` with `Delete[dis]`';
end
81
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ExecuteContextMenu' );
		OutputDebugString( ExecuteContextMenu );
	end
end;

with CascadeFile1 do
begin
	ExploreFromHere := 'c:\';
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
	SingleSel := False;
	FullRowSelect := True;
	ExpandFolders := True;
	ShowContextMenu := 'menu replace `&Delete` with ``';
end
80
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ExecuteContextMenu' );
		OutputDebugString( ExecuteContextMenu );
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
	SingleSel := False;
	FullRowSelect := True;
	ShowContextMenu := '`Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),` + menu + `,Exit[id=1000]`';
end
79
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ExecuteContextMenu' );
		OutputDebugString( ExecuteContextMenu );
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
	SingleSel := False;
	FullRowSelect := True;
	ShowContextMenu := 'filecount = 0 ? `Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),[sep],Exit[def][id=1000]` : menu';
end
78
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ExecuteContextMenu' );
		OutputDebugString( ExecuteContextMenu );
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
	FullRowSelect := True;
	ShowContextMenu := 'Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),[sep],Exit[def][id=1000]';
end
77
ShowContextMenu usage
// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ExecuteContextMenu' );
		OutputDebugString( ExecuteContextMenu );
		OutputDebugString( 'no context menu is generated, so nothing is displayed' );
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
	FullRowSelect := True;
	ShowContextMenu := '``';
end
76
How can I add new items to the default file's context menu

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ContextMenu' );
		OutputDebugString( ShowContextMenu );
		ShowContextMenu := FormatABC('B = 20 ? ( `My First Popup[def](A,B,C),[sep],`+ value + `,[sep],My Last Popup[def](A,B,C)` ) : value',OleVariant(ShowContextMenu),OleVariant(Operation),Null);
		OutputDebugString( 'Execute' );
		OutputDebugString( ExecuteContextMenu );
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
end
75
Is it possible to display the item's identifiers in the file's context menu

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ContextMenu' );
		OutputDebugString( ShowContextMenu );
		ShowContextMenu := FormatABC('B = 20 ? (`[debug]`+ value) : value ',OleVariant(ShowContextMenu),OleVariant(Operation),Null);
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
end
74
How can I remove the Delete command from the file's context menu

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ContextMenu' );
		OutputDebugString( ShowContextMenu );
		ShowContextMenu := FormatABC('value replace `&Delete` with ``',OleVariant(ShowContextMenu),Null,Null);
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
end
73
How can I provide my own context menu

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ContextMenu' );
		OutputDebugString( ShowContextMenu );
		ShowContextMenu := 'Item 1[id=1][def],Item 2[id=2],[sep][id=3],Popup[id=4](Item 3[id=5],Item 4[id=6])';
		OutputDebugString( 'ExecuteContextMenu' );
		OutputDebugString( ExecuteContextMenu );
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
end
72
Is it possible to prevent executing a specific command from the object's context menu
// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ContextMenu' );
		OutputDebugString( ShowContextMenu );
		OutputDebugString( 'ExecuteContextMenu' );
		OutputDebugString( ExecuteContextMenu );
		ExecuteContextMenu := 0;
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
end
71
How can I disable the Delete command from the object's context menu

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'Operation' );
		OutputDebugString( Operation );
		OutputDebugString( 'ContextMenu' );
		OutputDebugString( ShowContextMenu );
		ShowContextMenu := FormatABC('value replace `&Delete` with `&Delete[dis]`',OleVariant(ShowContextMenu),Null,Null);
	end
end;

with CascadeFile1 do
begin
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
end
70
How can I turn off, disable the control's context menu
with CascadeFile1 do
begin
	AllowContextMenu := False;
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
end
69
How can I decode the Layout property

with CascadeFile1 do
begin
	AllowSplitView := EXMILLERLib_TLB.exAllowTwoSplitView;
	Select := 'C:\';
	SplitViewHeight := '256,256';
	sLayout := Layout;
	OutputDebugString( 'Encoded:' );
	OutputDebugString( sLayout );
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.Print'))) as EXPRINTLib_TLB.Print) do
	begin
		OutputDebugString( 'Decoded: ' );
		OutputDebugString( Decode64TextW[sLayout] );
	end;
end
68
Is there any property I could use, so I can save the control's state, so I can restore once my application is re-started
with CascadeFile1 do
begin
	sLayout := Layout;
	OutputDebugString( 'Save' );
	OutputDebugString( sLayout );
	Select := 'C:\';
	Layout := sLayout;
end
67
Turn on the backcolor alternate feature

with CascadeFile1 do
begin
	BeginUpdate();
	BackColorAlternate := RGB(240,240,240);
	ForeColorAlternate := RGB(40,40,40);
	Select := 'C:\Windows\System32';
	EndUpdate();
end
66
Display HTML in the control's status bar

with CascadeFile1 do
begin
	BeginUpdate();
	StatusBarVisible := EXMILLERLib_TLB.exStatusBarAnchorTop;
	Select := 'C:\Windows\System32';
	FitCascadeColumns := 3;
	StatusBarLabel := 'Current: <b><%0%>';
	EndUpdate();
end
65
Display relative name into the control's status bar

with CascadeFile1 do
begin
	BeginUpdate();
	ExploreFromHere := 'C:\';
	StatusBarVisible := EXMILLERLib_TLB.exStatusBarAnchorTop;
	Select := 'C:\Windows';
	FitCascadeColumns := 3;
	StatusBarLabel := '<%3%>';
	EndUpdate();
end
64
Display parsed name into the control's status bar

with CascadeFile1 do
begin
	BeginUpdate();
	StatusBarVisible := EXMILLERLib_TLB.exStatusBarAnchorTop;
	Select := 'C:\Windows';
	FitCascadeColumns := 3;
	StatusBarLabel := '<%2%> >';
	EndUpdate();
end
63
Display name into the control's status bar (default)

with CascadeFile1 do
begin
	BeginUpdate();
	StatusBarVisible := EXMILLERLib_TLB.exStatusBarAnchorTop;
	Select := 'C:\Windows';
	FitCascadeColumns := 3;
	StatusBarLabel := '<%1%> >';
	EndUpdate();
end
62
Display full path into the control's status bar

with CascadeFile1 do
begin
	BeginUpdate();
	StatusBarVisible := EXMILLERLib_TLB.exStatusBarAnchorTop;
	Select := 'C:\Windows';
	FitCascadeColumns := 3;
	StatusBarLabel := '<%0%>';
	EndUpdate();
end
61
Removes the extra > shown at the end of the status label

with CascadeFile1 do
begin
	BeginUpdate();
	StatusBarVisible := EXMILLERLib_TLB.exStatusBarAnchorTop;
	Select := 'C:\Windows';
	FitCascadeColumns := 3;
	Background[EXMILLERLib_TLB.exStatusPanelBackColor] := $10000;
	Background[EXMILLERLib_TLB.exStatusForeColor] := $ffffff;
	StatusBarLabel := '<%1%>';
	EndUpdate();
end
60
Just wondering if I can show the status on the bottom side of the control

with CascadeFile1 do
begin
	BeginUpdate();
	Select := 'C:\Windows';
	FitCascadeColumns := 3;
	StatusBarVisible := EXMILLERLib_TLB.exStatusBarAnchorBottom;
	EndUpdate();
end
59
How can I hide the control's status
with CascadeFile1 do
begin
	BeginUpdate();
	StatusBarVisible := EXMILLERLib_TLB.exStatusBarNone;
	EndUpdate();
end
58
I've noticed that if I use a second view, the selected path in the first view, ensures that fits the control's client are as soon as the user resizes the panels. Is it possible to prevent that
with CascadeFile1 do
begin
	BeginUpdate();
	Mode := EXMILLERLib_TLB.exSplitFixCascadeMode;
	FitCascadeColumns := 3;
	AllowSplitView := EXMILLERLib_TLB.exAllowTwoSplitView;
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	HeaderVisible := False;
	Select := 'c:\Windows\System32';
	SplitViewHeight := '256';
	EndUpdate();
end
57
I've noticed the control splits the control in 4 parts, and displays each view, the question I have is it possible to have that changed, for instance 3 ( sample 2 )
with CascadeFile1 do
begin
	BeginUpdate();
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	HeaderVisible := False;
	Select := 'c:\Windows\System32';
	FitToClient(OleVariant(3));
	EndUpdate();
end
56
I've noticed the control splits the control in 4 parts, and displays each view, the question I have is it possible to have that changed, for instance 3 ( sample 1 )
with CascadeFile1 do
begin
	BeginUpdate();
	ColumnsVisible := EXMILLERLib_TLB.exFileColumnName;
	HeaderVisible := False;
	Select := 'c:\Windows\System32';
	FitToClient(OleVariant(3));
	EndUpdate();
end
55
I am trying to use your control as a file-view, but without any generated thumbnail. Is this possible

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewEndChanging: ' );
		OutputDebugString( Operation );
		OutputDebugString( Select );
	end
end;

// ViewStartChanging event - Occurs once the user is about to change the view.
procedure TForm1.CascadeFile1ViewStartChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewStartChanging: ' );
		OutputDebugString( Operation );
	end
end;

with CascadeFile1 do
begin
	BeginUpdate();
	Mode := Integer(EXMILLERLib_TLB.exDisableThumbnails) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
	Layout := 'Select0 = "c:\|d:\"';
	EndUpdate();
end
54
How can I prevent resizing the cascade columns, once the user resizes the entire control
// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewEndChanging: ' );
		OutputDebugString( Operation );
		OutputDebugString( Select );
	end
end;

// ViewStartChanging event - Occurs once the user is about to change the view.
procedure TForm1.CascadeFile1ViewStartChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewStartChanging: ' );
		OutputDebugString( Operation );
	end
end;

with CascadeFile1 do
begin
	BeginUpdate();
	FitToClient(OleVariant(3));
	Mode := EXMILLERLib_TLB.exSplitFixCascadeMode;
	Select := 'c:\Windows';
	EndUpdate();
end
53
Is it possible to disable resizing the cascade columns

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewEndChanging: ' );
		OutputDebugString( Operation );
		OutputDebugString( Select );
	end
end;

// ViewStartChanging event - Occurs once the user is about to change the view.
procedure TForm1.CascadeFile1ViewStartChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewStartChanging: ' );
		OutputDebugString( Operation );
	end
end;

with CascadeFile1 do
begin
	BeginUpdate();
	FitToClient(OleVariant(3));
	Mode := Integer(EXMILLERLib_TLB.exAutoFitOnResizeClient) Or Integer(EXMILLERLib_TLB.exDisableResizeCascadeColumns) Or Integer(EXMILLERLib_TLB.exSplitFixCascadeMode);
	Select := 'c:\Windows';
	EndUpdate();
end
52
SplitFixCascadeMode Mode

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewEndChanging: ' );
		OutputDebugString( Operation );
		OutputDebugString( Select );
	end
end;

// ViewStartChanging event - Occurs once the user is about to change the view.
procedure TForm1.CascadeFile1ViewStartChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewStartChanging: ' );
		OutputDebugString( Operation );
	end
end;

with CascadeFile1 do
begin
	BeginUpdate();
	Mode := EXMILLERLib_TLB.exSplitFixCascadeMode;
	Select := 'c:\';
	EndUpdate();
end
51
FixCascadeMode Mode

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewEndChanging: ' );
		OutputDebugString( Operation );
		OutputDebugString( Select );
	end
end;

// ViewStartChanging event - Occurs once the user is about to change the view.
procedure TForm1.CascadeFile1ViewStartChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewStartChanging: ' );
		OutputDebugString( Operation );
	end
end;

with CascadeFile1 do
begin
	BeginUpdate();
	HeaderVisible := False;
	DefColumnWidth := 128;
	Mode := EXMILLERLib_TLB.exFixCascadeMode;
	Select := 'c:\Windows';
	EndUpdate();
end
50
SplitEqualCascadeMode Mode

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewEndChanging: ' );
		OutputDebugString( Operation );
		OutputDebugString( Select );
	end
end;

// ViewStartChanging event - Occurs once the user is about to change the view.
procedure TForm1.CascadeFile1ViewStartChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewStartChanging: ' );
		OutputDebugString( Operation );
	end
end;

with CascadeFile1 do
begin
	BeginUpdate();
	Mode := EXMILLERLib_TLB.exSplitEqualCascadeMode;
	Select := 'c:\';
	EndUpdate();
end
49
Default Mode

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewEndChanging: ' );
		OutputDebugString( Operation );
		OutputDebugString( Select );
	end
end;

// ViewStartChanging event - Occurs once the user is about to change the view.
procedure TForm1.CascadeFile1ViewStartChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewStartChanging: ' );
		OutputDebugString( Operation );
	end
end;

with CascadeFile1 do
begin
	BeginUpdate();
	Select := 'c:\Windows';
	FitToClient(OleVariant(3));
	EndUpdate();
end
48
SingleCascadeMode ( folder view mode )

// ViewEndChanging event - Occurs once the user changed the view.
procedure TForm1.CascadeFile1ViewEndChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewEndChanging: ' );
		OutputDebugString( Operation );
		OutputDebugString( Select );
	end
end;

// ViewStartChanging event - Occurs once the user is about to change the view.
procedure TForm1.CascadeFile1ViewStartChanging(ASender: TObject; Operation : ViewOperationEnum);
begin
	with CascadeFile1 do
	begin
		OutputDebugString( 'ViewStartChanging: ' );
		OutputDebugString( Operation );
	end
end;

with CascadeFile1 do
begin
	BeginUpdate();
	StatusBarVisible := EXMILLERLib_TLB.exStatusBarNone;
	Mode := EXMILLERLib_TLB.exSingleCascadeMode;
	Select := 'c:\Windows';
	EndUpdate();
end
47
How to expand more folders, when single cascade mode is used

with CascadeFile1 do
begin
	BeginUpdate();
	StatusBarVisible := EXMILLERLib_TLB.exStatusBarNone;
	Mode := EXMILLERLib_TLB.exSingleCascadeMode;
	Layout := 'Expand0 = "c:\|d:\|e:\";SelectMode0 = 0';
	EndUpdate();
end
46
Is it possible to programmatically selects more folders

with CascadeFile1 do
begin
	BeginUpdate();
	Layout := 'Select0 = "c:\|d:\|e:\";SelectMode0 = 0';
	EndUpdate();
end
45
Is it possible to programmatically expand a folder (sample 4, select, expand more)

with CascadeFile1 do
begin
	BeginUpdate();
	Layout := 'Expand0 = "c:\|d:\|e:\";SelectMode0 = 0';
	EndUpdate();
end
44
Is it possible to programmatically expand a folder (sample 3)

with CascadeFile1 do
begin
	BeginUpdate();
	Layout := 'Expand0 = "c:\";SelectMode0 = 2';
	EndUpdate();
end
43
Is it possible to programmatically expand a folder (sample 2)

with CascadeFile1 do
begin
	BeginUpdate();
	Layout := 'Expand0 = "c:\";SelectMode0 = 1';
	EndUpdate();
end