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

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutImageSize(32);
spCascadeFile1->PutDefaultItemHeight(36);
spCascadeFile1->PutHeaderHeight(spCascadeFile1->GetDefaultItemHeight());
spCascadeFile1->GetFont()->PutSize(_variant_t(long(16)));
spCascadeFile1->GetToolTipFont()->PutSize(_variant_t(spCascadeFile1->GetFont()->GetSize()));
spCascadeFile1->PutIndent(26);
EXMILLERLib::IAppearancePtr var_Appearance = spCascadeFile1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7E" +
"MRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDx" +
"RDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFY" +
"FoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4U" +
"kmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" +
"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A" +
"0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh" +
"8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2" +
"UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"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" +
"gRBCCQAgQEA==");
	var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"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");
	var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==");
spCascadeFile1->PutBackColorHeader(0x4c6c6c6);
spCascadeFile1->PutSelBackColor(0x4f0f0f0);
spCascadeFile1->PutSelForeColor(RGB(0,0,1));
spCascadeFile1->PutHotBackColor(0x4f8f8f8);
spCascadeFile1->PutBackground(EXMILLERLib::exCheckBoxState0,0x1000000);
spCascadeFile1->PutBackground(EXMILLERLib::exCheckBoxState1,0x2000000);
spCascadeFile1->PutBackground(EXMILLERLib::exCheckBoxState2,0x3000000);
spCascadeFile1->PutExpandFolders(VARIANT_TRUE);
spCascadeFile1->PutHasCheckBox(EXMILLERLib::PartialCheckBox);
spCascadeFile1->PutExploreFromHere(L"");
spCascadeFile1->PutSelect(L"C:");
spCascadeFile1->EndUpdate();

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

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutImageSize(16);
EXMILLERLib::IAppearancePtr var_Appearance = spCascadeFile1->GetVisualAppearance();
	var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==");
spCascadeFile1->PutBackColorHeader(0x4c6c6c6);
spCascadeFile1->PutSelBackColor(0x4f0f0f0);
spCascadeFile1->PutSelForeColor(RGB(0,0,1));
spCascadeFile1->PutHotBackColor(0x4f8f8f8);
spCascadeFile1->PutExpandFolders(VARIANT_TRUE);
spCascadeFile1->PutHasCheckBox(EXMILLERLib::PartialCheckBox);
spCascadeFile1->PutExploreFromHere(L"");
spCascadeFile1->PutSelect(L"C:");
spCascadeFile1->EndUpdate();

140
How can I add a checkbox to each item

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetGet(EXMILLERLib::CheckItems)) );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutHasCheckBox(EXMILLERLib::PartialCheckBox);
spCascadeFile1->PutExploreFromHere(L"C:/");

139
How do I get the selected file/files
// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( spCascadeFile1->GetSelect() );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:/");

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

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
EXMILLERLib::IAppearancePtr var_Appearance = spCascadeFile1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzV") +
"IUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4" +
"aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DB" +
"eEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" +
"BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAok" +
"GKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=");
	var_Appearance->Add(2,"CP:1 0 -36 0 0");
spCascadeFile1->PutBackground(EXMILLERLib::exColumnsPositionSign,0x2000000);
spCascadeFile1->PutStatusBarVisible(EXMILLERLib::exStatusBarNone);
spCascadeFile1->PutMode(EXMILLERLib::exSingleCascadeMode);
spCascadeFile1->EndUpdate();

137
How can I specify my favorites folders

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutHeaderVisible(VARIANT_FALSE);
spCascadeFile1->PutExploreFromHere(_bstr_t("::{450d8fba-ad25-11d0-98a8-0800361b1103}|::{018D5C66-4533-4307-9B53-224DE2ED1FE6}|::{20D04FE0-3AEA-1069-A2D8-08002B30309D}|::{F") +
"02C1A0D-BE21-4350-88B0-7367FC96EF3C}");
spCascadeFile1->PutSelect(L"C:\\Windows");
spCascadeFile1->EndUpdate();

136
How can I add the "My Documents"

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:\\|::{450d8fba-ad25-11d0-98a8-0800361b1103}>");

135
How can I add the Printers and Faxes

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutExploreFromHere(L"C:\\|::{2227a280-3aea-1069-a2de-08002b30309d}>");

134
How can I add the "Recycle Bin" folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:\\|::{645FF040-5081-101B-9F08-00AA002F954E}>");

133
How can I add the "Documents" folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:\\|::{450D8FBA-AD25-11D0-98A8-0800361B1103}>");

132
How can I add the Network folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:\\|::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}>");

131
How can I add the My Computer

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:\\|::{20D04FE0-3AEA-1069-A2D8-08002B30309D}>");

130
How can I add the My Network Places folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:\\|::{208D2C60-3AEA-1069-A2D7-08002B30309D}>");

129
How can I add the Desktop folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:\\|::{00021400-0000-0000-C000-000000000046}>");

128
How can I create my own favorites folders

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutExploreFromHere(L"::{450d8fba-ad25-11d0-98a8-0800361b1103}|C:\\Temp><b>My Projects</b>|");
spCascadeFile1->PutSelect(L"C:\\Temp");
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutHeaderVisible(VARIANT_FALSE);
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->EndUpdate();

127
How can change the explore from folder (sample 2)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:\\>");
spCascadeFile1->PutLayout(L"Expand0 = \"C:\\\";SelectMode0 = 0");

126
How can change the explore from folder (sample 1)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:\\");

125
Is it possible to include more system drives as root folders (sample 2)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:\\>SYSTEM <off 4><b>1|D:\\>SYSTEM <off 4><b>2|E:\\>SYSTEM <off 4><b>3");

124
Is it possible to include more system drives as root folders (sample 1)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:\\|D:\\|E:\\");

123
How can I include a system drive as a root folder, instead lists its content

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"C:\\>");
spCascadeFile1->PutLayout(L"Expand0 = \"C:\\\";SelectMode0 = 0");

122
How can I add the Desktop as a root folder (sample 3, rename, new display name, root)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}><sha ;;0>This <b>PC</b>");

121
How can I add the Desktop as a root folder (sample 2)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}>");

120
How can I add the Desktop as a root folder (sample 1)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L">");
spCascadeFile1->PutSelect(L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");
spCascadeFile1->PutSelectMode(EXMILLERLib::exSelectModeList);

119
How can I browse the "Public" folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{4336a54d-038b-4685-ab02-99bb52d3fb8b}>");

118
How can I browse the "Libraries" folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{031E4825-7B94-4dc3-B131-E946B44C8DD5}>");

117
How can I browse the "HomeGroup" folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}>");

116
How can I browse the "Games" folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{ED228FDF-9EA8-4870-83b1-96b02CFE0D52}>");

115
How can I browse the "OneDrive" folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{018D5C66-4533-4307-9B53-224DE2ED1FE6}>");

114
How can I browse the "Recycle Bin" folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{645FF040-5081-101B-9F08-00AA002F954E}");

113
How can I browse the "Documents" folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{450D8FBA-AD25-11D0-98A8-0800361B1103}");

112
How can I browse the Network folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}");

111
How can I browse the My Computer

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");

110
How can I browse the My Network Places folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{208D2C60-3AEA-1069-A2D7-08002B30309D}");

109
How can I browse the Desktop folder

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"::{00021400-0000-0000-C000-000000000046}");

108
How can I select multiple files

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutSelect(L"C:\\\\r\\nD:\\\\r\\nE:\\");

107
How can I select a single file

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutSelect(L"C:\\");

106
Can I change the folder being explored

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"c:\\Program Files");

105
How can I turn on the Thumbnail mode

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutSelect(L"C:\\");
spCascadeFile1->PutSelectMode(EXMILLERLib::exSelectModeThumbnail);

104
How to turn off the Auto-Update feature
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutAutoUpdate(VARIANT_FALSE);

103
I can not make a column larger, by resizing its header, as it splits the control's header only. What can I do

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutColumnAutoResize(VARIANT_FALSE);
spCascadeFile1->PutStatusBarVisible(EXMILLERLib::exStatusBarNone);
spCascadeFile1->PutMode(EXMILLERLib::exSingleCascadeMode);
spCascadeFile1->PutSelect(L"c:\\Windows");
spCascadeFile1->EndUpdate();

102
How can hide the column's header

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutHeaderVisible(VARIANT_FALSE);
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutSelect(L"C:\\Windows");
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->EndUpdate();

101
How can hide the Modified, Size and Type columns

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutSelect(L"C:\\Windows");
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->EndUpdate();

100
How can I hide the +/- buttons, so I can show just plain lists, no children

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutExpandFolders(VARIANT_FALSE);
spCascadeFile1->PutHeaderVisible(VARIANT_FALSE);
spCascadeFile1->PutSelect(L"C:\\Windows");
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->EndUpdate();

99
A small rectangle is shown around the item that has the focus. Can I hide that
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutShowFocusRect(VARIANT_FALSE);

98
How can I get ride of the hot selection color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutHotBackColor(-1);
spCascadeFile1->PutHotForeColor(-1);
spCascadeFile1->EndUpdate();

97
How can I change the control's selection color (sample 3)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
EXMILLERLib::IAppearancePtr var_Appearance = spCascadeFile1->GetVisualAppearance();
	var_Appearance->Add(2,"XP:Button 1 2");
	var_Appearance->Add(1,"CP:2 -1 0 1 0");
	var_Appearance->Add(4,"XP:Button 1 1");
	var_Appearance->Add(3,"CP:4 -1 0 1 0");
spCascadeFile1->PutFitCascadeColumns(2);
spCascadeFile1->PutSelect(L"c:\\");
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->PutExpandFolders(VARIANT_FALSE);
spCascadeFile1->PutSelBackColor(0x1000000);
spCascadeFile1->PutSelForeColor(RGB(0,0,0));
spCascadeFile1->PutHotBackColor(0x3000000);
spCascadeFile1->PutHotForeColor(RGB(0,0,0));
spCascadeFile1->EndUpdate();

96
How can I change the control's selection color (sample 2)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABNACg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASV") +
"AceAAGaUZrjSgobjmOYhAJCKJUWAFFoVDCgZThGgJHomMIhBDHASQTQ8EytJqmKajCaRSDUJZkWZOIyjBd6a5tVbXEaVTAccxhOKeahvGo5Fred40TRINCWHI1d4NH69" +
"JbwMILSgME6FABXdhWFC+Ex9Kiea7kOqIJwyA5bY5kGRWDRkLzROAALJ1Cz7KqydpDYyAGbABagAYfPy8JzxHKNarfA5GZzuG4zdi8U41WCBdpnHQNS4KL6ndBbWrdFo" +
"iC8X4QnAOQ8B4dwiHQCIEhQDQmDOIZUmQZYDkIVRSmIEQ3lUGwbEIRQQh4ZpeEQGIMB0JZdkoc4XnqVB/k0CAGAKAJgEgFgGgGYBXnyVA5mCRQ4maA5NjgRJvgSTwoFY" +
"FoFmGCBmBqBphhgTJvDcIkFlWCJhmOLgmDoYoIiYKoKmKSI2C6CwiGOLJwgyTJ4lYAg8mOCI+DqDpjkiMJ0g+TJZAYN4OGOWQWEaCpjnOUhBDMZAzk4MYTmUCRGFKFJl" +
"EkRhJhKZJTjIWoWmWSR2F6F5mAmBhbhWZAoASdYZk6WYmGqGpmkmNhuhulQonaHJlgmGhnDuJ4JmYeoemeSZ2H6H5nhmTJ2h0TQKAoHohmiCgmgqIpokoJJ3iOaBKDyd" +
"w8GkShWhaJZpgoZoaiaaRTmKHokGieJiiKKJqEqFomimaoKg6Hg+CgSouimK5rAqRg4D4axKjaHoSGuCpmjqLprkqdo6i0D4aBKQIgiwSwWkaMZsgsJpGD6LJLAqNIyi" +
"0CxGlKHJskOahLgKJhzlaK4gi2GxOl6MZtjmTJOjiX5ThSWo5mMM5CkCOpukuNpujubwLiYEY8k2NQ4mqPZNhuZgIj6b5LnaeQ2GXsJrGuQAEAQgI");
spCascadeFile1->PutFitCascadeColumns(2);
spCascadeFile1->PutSelect(L"c:\\");
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->PutSelBackColor(0x1e0e0e0);
spCascadeFile1->PutSelForeColor(RGB(0,0,0));
spCascadeFile1->EndUpdate();

95
How can I change the control's selection color (sample 1)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutFitCascadeColumns(2);
spCascadeFile1->PutSelect(L"c:\\");
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->PutSelBackColor(RGB(0,0,0));
spCascadeFile1->PutSelForeColor(RGB(255,255,255));
spCascadeFile1->EndUpdate();

94
How can I select the entire item, rather that name only

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutSelect(L"c:\\|d:\\|e:\\");
spCascadeFile1->PutSelectMode(EXMILLERLib::exSelectModeList);
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->EndUpdate();

93
Is it possible to show the selection with a different color, when the control loses the focus

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutHideSelection(VARIANT_FALSE);
spCascadeFile1->PutBackground(EXMILLERLib::BackgroundPartEnum(0xa6),RGB(224,224,224));
spCascadeFile1->PutBackground(EXMILLERLib::BackgroundPartEnum(0xa7),RGB(64,64,64));
spCascadeFile1->PutSelect(L"c:\\|d:\\|e:\\");
spCascadeFile1->PutSelectMode(EXMILLERLib::exSelectModeList);
spCascadeFile1->EndUpdate();

92
The selection is still shown when the control loses the focus. Is it possible to hide it
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutHideSelection(VARIANT_TRUE);

91
How can I enable single-selection
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutSingleSel(VARIANT_TRUE);

90
Predefined Keywords of ShowContextMenu property

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	spCascadeFile1->PutExecuteContextMenu(0);
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutScrollPartVisible(EXMILLERLib::exVScroll,EXMILLERLib::exExtentThumbPart,VARIANT_TRUE);
spCascadeFile1->PutScrollPartVisible(EXMILLERLib::exHScroll,EXMILLERLib::exExtentThumbPart,VARIANT_TRUE);
spCascadeFile1->PutScrollPartVisible(EXMILLERLib::exScroll,EXMILLERLib::exExtentThumbPart,VARIANT_TRUE);
spCascadeFile1->PutScrollWidth(4);
spCascadeFile1->PutBackground(EXMILLERLib::exVSBack,RGB(240,240,240));
spCascadeFile1->PutBackground(EXMILLERLib::exVSThumb,RGB(128,128,128));
spCascadeFile1->PutScrollHeight(4);
spCascadeFile1->PutBackground(EXMILLERLib::exHSBack,spCascadeFile1->GetBackground(EXMILLERLib::exVSBack));
spCascadeFile1->PutBackground(EXMILLERLib::exHSThumb,spCascadeFile1->GetBackground(EXMILLERLib::exVSThumb));
spCascadeFile1->PutBackground(EXMILLERLib::exScrollSizeGrip,spCascadeFile1->GetBackground(EXMILLERLib::exVSBack));
spCascadeFile1->EndUpdate();
spCascadeFile1->PutAllowSplitView(EXMILLERLib::exAllowTwoSplitView);
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->PutShowContextMenu(_bstr_t("`menu(` + menu + `)` + `,filecount=` + filecount + `,fileattr=` + hex(fileattr) + `,filename=` + filename + `,fileparsename=` +") +
" fileparsename + `,filefullname=` + filefullname + `,[sep]` + `,vlevels=` + vlevels + `,vlevel=` + vlevel + `,hlevels=` + hlevel" +
"s + `,hlevel=` + hlevel + `,view=` + view + `,[sep]` + `,selectmode=` + selectmode");
spCascadeFile1->PutSplitViewHeight(L"256,256");
spCascadeFile1->PutLayout(L"Select1=\"C:\\\"");
spCascadeFile1->PutSelect(L"C:\\Windows");

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

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ExecuteContextMenu" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));
spCascadeFile1->PutSingleSel(VARIANT_FALSE);
spCascadeFile1->PutShowContextMenu(L"`[debug]` + menu");

88
How can I copy/execute command a file/folder (selection)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutSingleSel(VARIANT_FALSE);
spCascadeFile1->PutExploreFromHere(L"c:\\");
spCascadeFile1->PutExpandFolders(VARIANT_TRUE);
spCascadeFile1->PutSelect(L"c:\\Temp");
spCascadeFile1->ExecuteContextCommand(L"<selection>",VARIANT_TRUE,L"Copy");
spCascadeFile1->EndUpdate();

87
How can I copy a file/folder (absolute name)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutExploreFromHere(L"c:\\");
spCascadeFile1->ExecuteContextCommand(L"c:\\Temp",VARIANT_TRUE,L"Copy");
spCascadeFile1->EndUpdate();

86
How can I copy a file/folder (relative name)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutExploreFromHere(L"c:\\");
spCascadeFile1->ExecuteContextCommand(L"Temp",VARIANT_TRUE,L"Copy");
spCascadeFile1->EndUpdate();

85
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ExecuteContextMenu" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));
spCascadeFile1->PutSingleSel(VARIANT_FALSE);
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->PutShowContextMenu(_bstr_t("filecount = 0 ? `Exit[id=1000]` : ( ( ( filecount = 1 ) ? `\"` + filename + `\"` : `multiple selection` ) + `[dis],[sep],` + me") +
"nu)");

84
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ExecuteContextMenu" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));
spCascadeFile1->PutSingleSel(VARIANT_FALSE);
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->PutShowContextMenu(L"filecount > 1 ? `multiple selection[dis]` : menu");

83
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ExecuteContextMenu" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));
spCascadeFile1->PutSingleSel(VARIANT_FALSE);
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->PutShowContextMenu(L"filecount > 1 ? `multiple selection[dis]` : menu");

82
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ExecuteContextMenu" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"c:\\");
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));
spCascadeFile1->PutSingleSel(VARIANT_FALSE);
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->PutExpandFolders(VARIANT_TRUE);
spCascadeFile1->PutShowContextMenu(L"menu replace `Delete` with `Delete[dis]`");

81
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ExecuteContextMenu" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutExploreFromHere(L"c:\\");
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));
spCascadeFile1->PutSingleSel(VARIANT_FALSE);
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->PutExpandFolders(VARIANT_TRUE);
spCascadeFile1->PutShowContextMenu(L"menu replace `&Delete` with ``");

80
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ExecuteContextMenu" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));
spCascadeFile1->PutSingleSel(VARIANT_FALSE);
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->PutShowContextMenu(L"`Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),` + menu + `,Exit[id=1000]`");

79
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ExecuteContextMenu" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));
spCascadeFile1->PutSingleSel(VARIANT_FALSE);
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->PutShowContextMenu(L"filecount = 0 ? `Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),[sep],Exit[def][id=1000]` : menu");

78
ShowContextMenu usage

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ExecuteContextMenu" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->PutShowContextMenu(L"Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),[sep],Exit[def][id=1000]");

77
ShowContextMenu usage
// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ExecuteContextMenu" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
	OutputDebugStringW( L"no context menu is generated, so nothing is displayed" );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));
spCascadeFile1->PutFullRowSelect(VARIANT_TRUE);
spCascadeFile1->PutShowContextMenu(L"``");

76
How can I add new items to the default file's context menu

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ContextMenu" );
	OutputDebugStringW( spCascadeFile1->GetShowContextMenu() );
	spCascadeFile1->PutShowContextMenu(_bstr_t(spCascadeFile1->FormatABC(L"B = 20 ? ( `My First Popup[def](A,B,C),[sep],`+ value + `,[sep],My Last Popup[def](A,B,C)` ) : value",spCascadeFile1->GetShowContextMenu(),Operation,vtMissing)));
	OutputDebugStringW( L"Execute" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));

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.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ContextMenu" );
	OutputDebugStringW( spCascadeFile1->GetShowContextMenu() );
	spCascadeFile1->PutShowContextMenu(_bstr_t(spCascadeFile1->FormatABC(L"B = 20 ? (`[debug]`+ value) : value ",spCascadeFile1->GetShowContextMenu(),Operation,vtMissing)));
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));

74
How can I remove the Delete command from the file's context menu

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ContextMenu" );
	OutputDebugStringW( spCascadeFile1->GetShowContextMenu() );
	spCascadeFile1->PutShowContextMenu(_bstr_t(spCascadeFile1->FormatABC(L"value replace `&Delete` with ``",spCascadeFile1->GetShowContextMenu(),vtMissing,vtMissing)));
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));

73
How can I provide my own context menu

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ContextMenu" );
	OutputDebugStringW( spCascadeFile1->GetShowContextMenu() );
	spCascadeFile1->PutShowContextMenu(L"Item 1[id=1][def],Item 2[id=2],[sep][id=3],Popup[id=4](Item 3[id=5],Item 4[id=6])");
	OutputDebugStringW( L"ExecuteContextMenu" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));

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.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ContextMenu" );
	OutputDebugStringW( spCascadeFile1->GetShowContextMenu() );
	OutputDebugStringW( L"ExecuteContextMenu" );
	OutputDebugStringW( _bstr_t(spCascadeFile1->GetExecuteContextMenu()) );
	spCascadeFile1->PutExecuteContextMenu(0);
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));

71
How can I disable the Delete command from the object's context menu

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( L"ContextMenu" );
	OutputDebugStringW( spCascadeFile1->GetShowContextMenu() );
	spCascadeFile1->PutShowContextMenu(_bstr_t(spCascadeFile1->FormatABC(L"value replace `&Delete` with `&Delete[dis]`",spCascadeFile1->GetShowContextMenu(),vtMissing,vtMissing)));
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exSplitFixCascadeMode));

70
How can I turn off, disable the control's context menu
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutAllowContextMenu(VARIANT_FALSE);
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);

69
How can I decode the Layout property

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->PutAllowSplitView(EXMILLERLib::exAllowTwoSplitView);
spCascadeFile1->PutSelect(L"C:\\");
spCascadeFile1->PutSplitViewHeight(L"256,256");
_bstr_t sLayout = spCascadeFile1->GetLayout();
OutputDebugStringW( L"Encoded:" );
OutputDebugStringW( L"sLayout" );
/*
	Includes the definition for CreateObject function like follows:

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

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

	#import <ExPrint.dll>
	using namespace EXPRINTLib;
*/
EXPRINTLib::IExPrintPtr var_Print = ::CreateObject(L"Exontrol.Print");
	OutputDebugStringW( L"Decoded: " );
	OutputDebugStringW( var_Print->GetDecode64TextW(L"sLayout") );

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
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
_bstr_t sLayout = spCascadeFile1->GetLayout();
OutputDebugStringW( L"Save" );
OutputDebugStringW( L"sLayout" );
spCascadeFile1->PutSelect(L"C:\\");
spCascadeFile1->PutLayout(L"sLayout");

67
Turn on the backcolor alternate feature

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutBackColorAlternate(RGB(240,240,240));
spCascadeFile1->PutForeColorAlternate(RGB(40,40,40));
spCascadeFile1->PutSelect(L"C:\\Windows\\System32");
spCascadeFile1->EndUpdate();

66
Display HTML in the control's status bar

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutStatusBarVisible(EXMILLERLib::exStatusBarAnchorTop);
spCascadeFile1->PutSelect(L"C:\\Windows\\System32");
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->PutStatusBarLabel(L"Current: <b><%0%>");
spCascadeFile1->EndUpdate();

65
Display relative name into the control's status bar

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutExploreFromHere(L"C:\\");
spCascadeFile1->PutStatusBarVisible(EXMILLERLib::exStatusBarAnchorTop);
spCascadeFile1->PutSelect(L"C:\\Windows");
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->PutStatusBarLabel(L"<%3%>");
spCascadeFile1->EndUpdate();

64
Display parsed name into the control's status bar

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutStatusBarVisible(EXMILLERLib::exStatusBarAnchorTop);
spCascadeFile1->PutSelect(L"C:\\Windows");
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->PutStatusBarLabel(L"<%2%> >");
spCascadeFile1->EndUpdate();

63
Display name into the control's status bar (default)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutStatusBarVisible(EXMILLERLib::exStatusBarAnchorTop);
spCascadeFile1->PutSelect(L"C:\\Windows");
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->PutStatusBarLabel(L"<%1%> >");
spCascadeFile1->EndUpdate();

62
Display full path into the control's status bar

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutStatusBarVisible(EXMILLERLib::exStatusBarAnchorTop);
spCascadeFile1->PutSelect(L"C:\\Windows");
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->PutStatusBarLabel(L"<%0%>");
spCascadeFile1->EndUpdate();

61
Removes the extra > shown at the end of the status label

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutStatusBarVisible(EXMILLERLib::exStatusBarAnchorTop);
spCascadeFile1->PutSelect(L"C:\\Windows");
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->PutBackground(EXMILLERLib::exStatusPanelBackColor,RGB(0,0,1));
spCascadeFile1->PutBackground(EXMILLERLib::exStatusForeColor,RGB(255,255,255));
spCascadeFile1->PutStatusBarLabel(L"<%1%>");
spCascadeFile1->EndUpdate();

60
Just wondering if I can show the status on the bottom side of the control

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutSelect(L"C:\\Windows");
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->PutStatusBarVisible(EXMILLERLib::exStatusBarAnchorBottom);
spCascadeFile1->EndUpdate();

59
How can I hide the control's status
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutStatusBarVisible(EXMILLERLib::exStatusBarNone);
spCascadeFile1->EndUpdate();

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
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutMode(EXMILLERLib::exSplitFixCascadeMode);
spCascadeFile1->PutFitCascadeColumns(3);
spCascadeFile1->PutAllowSplitView(EXMILLERLib::exAllowTwoSplitView);
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutHeaderVisible(VARIANT_FALSE);
spCascadeFile1->PutSelect(L"c:\\Windows\\System32");
spCascadeFile1->PutSplitViewHeight(L"256");
spCascadeFile1->EndUpdate();

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 )
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutHeaderVisible(VARIANT_FALSE);
spCascadeFile1->PutSelect(L"c:\\Windows\\System32");
spCascadeFile1->FitToClient(long(3));
spCascadeFile1->EndUpdate();

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 )
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutColumnsVisible(EXMILLERLib::exFileColumnName);
spCascadeFile1->PutHeaderVisible(VARIANT_FALSE);
spCascadeFile1->PutSelect(L"c:\\Windows\\System32");
spCascadeFile1->FitToClient(long(3));
spCascadeFile1->EndUpdate();

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.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewEndChanging: " );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( spCascadeFile1->GetSelect() );
}

// ViewStartChanging event - Occurs once the user is about to change the view.
void OnViewStartChangingCascadeFile1(long   Operation)
{
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewStartChanging: " );
	OutputDebugStringW( L"Operation" );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exDisableThumbnails | EXMILLERLib::exSplitFixCascadeMode));
spCascadeFile1->PutLayout(L"Select0 = \"c:\\|d:\\\"");
spCascadeFile1->EndUpdate();

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.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewEndChanging: " );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( spCascadeFile1->GetSelect() );
}

// ViewStartChanging event - Occurs once the user is about to change the view.
void OnViewStartChangingCascadeFile1(long   Operation)
{
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewStartChanging: " );
	OutputDebugStringW( L"Operation" );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->FitToClient(long(3));
spCascadeFile1->PutMode(EXMILLERLib::exSplitFixCascadeMode);
spCascadeFile1->PutSelect(L"c:\\Windows");
spCascadeFile1->EndUpdate();

53
Is it possible to disable resizing the cascade columns

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewEndChanging: " );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( spCascadeFile1->GetSelect() );
}

// ViewStartChanging event - Occurs once the user is about to change the view.
void OnViewStartChangingCascadeFile1(long   Operation)
{
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewStartChanging: " );
	OutputDebugStringW( L"Operation" );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->FitToClient(long(3));
spCascadeFile1->PutMode(EXMILLERLib::CascadeModeEnum(EXMILLERLib::exAutoFitOnResizeClient | EXMILLERLib::exDisableResizeCascadeColumns | EXMILLERLib::exSplitFixCascadeMode));
spCascadeFile1->PutSelect(L"c:\\Windows");
spCascadeFile1->EndUpdate();

52
SplitFixCascadeMode Mode

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewEndChanging: " );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( spCascadeFile1->GetSelect() );
}

// ViewStartChanging event - Occurs once the user is about to change the view.
void OnViewStartChangingCascadeFile1(long   Operation)
{
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewStartChanging: " );
	OutputDebugStringW( L"Operation" );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutMode(EXMILLERLib::exSplitFixCascadeMode);
spCascadeFile1->PutSelect(L"c:\\");
spCascadeFile1->EndUpdate();

51
FixCascadeMode Mode

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewEndChanging: " );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( spCascadeFile1->GetSelect() );
}

// ViewStartChanging event - Occurs once the user is about to change the view.
void OnViewStartChangingCascadeFile1(long   Operation)
{
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewStartChanging: " );
	OutputDebugStringW( L"Operation" );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutHeaderVisible(VARIANT_FALSE);
spCascadeFile1->PutDefColumnWidth(128);
spCascadeFile1->PutMode(EXMILLERLib::exFixCascadeMode);
spCascadeFile1->PutSelect(L"c:\\Windows");
spCascadeFile1->EndUpdate();

50
SplitEqualCascadeMode Mode

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewEndChanging: " );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( spCascadeFile1->GetSelect() );
}

// ViewStartChanging event - Occurs once the user is about to change the view.
void OnViewStartChangingCascadeFile1(long   Operation)
{
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewStartChanging: " );
	OutputDebugStringW( L"Operation" );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutMode(EXMILLERLib::exSplitEqualCascadeMode);
spCascadeFile1->PutSelect(L"c:\\");
spCascadeFile1->EndUpdate();

49
Default Mode

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewEndChanging: " );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( spCascadeFile1->GetSelect() );
}

// ViewStartChanging event - Occurs once the user is about to change the view.
void OnViewStartChangingCascadeFile1(long   Operation)
{
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewStartChanging: " );
	OutputDebugStringW( L"Operation" );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutSelect(L"c:\\Windows");
spCascadeFile1->FitToClient(long(3));
spCascadeFile1->EndUpdate();

48
SingleCascadeMode ( folder view mode )

// ViewEndChanging event - Occurs once the user changed the view.
void OnViewEndChangingCascadeFile1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXMILLERLib' for the library: 'ExMiller 1.0 Control Library'
		#import <ExMiller.dll>
		using namespace EXMILLERLib;
	*/
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewEndChanging: " );
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( spCascadeFile1->GetSelect() );
}

// ViewStartChanging event - Occurs once the user is about to change the view.
void OnViewStartChangingCascadeFile1(long   Operation)
{
	EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
	OutputDebugStringW( L"ViewStartChanging: " );
	OutputDebugStringW( L"Operation" );
}

EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutStatusBarVisible(EXMILLERLib::exStatusBarNone);
spCascadeFile1->PutMode(EXMILLERLib::exSingleCascadeMode);
spCascadeFile1->PutSelect(L"c:\\Windows");
spCascadeFile1->EndUpdate();

47
How to expand more folders, when single cascade mode is used

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutStatusBarVisible(EXMILLERLib::exStatusBarNone);
spCascadeFile1->PutMode(EXMILLERLib::exSingleCascadeMode);
spCascadeFile1->PutLayout(L"Expand0 = \"c:\\|d:\\|e:\\\";SelectMode0 = 0");
spCascadeFile1->EndUpdate();

46
Is it possible to programmatically selects more folders

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutLayout(L"Select0 = \"c:\\|d:\\|e:\\\";SelectMode0 = 0");
spCascadeFile1->EndUpdate();

45
Is it possible to programmatically expand a folder (sample 4, select, expand more)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutLayout(L"Expand0 = \"c:\\|d:\\|e:\\\";SelectMode0 = 0");
spCascadeFile1->EndUpdate();

44
Is it possible to programmatically expand a folder (sample 3)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutLayout(L"Expand0 = \"c:\\\";SelectMode0 = 2");
spCascadeFile1->EndUpdate();

43
Is it possible to programmatically expand a folder (sample 2)

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

	#import <ExMiller.dll>
	using namespace EXMILLERLib;
*/
EXMILLERLib::ICascadeFilePtr spCascadeFile1 = GetDlgItem(IDC_CASCADEFILE1)->GetControlUnknown();
spCascadeFile1->BeginUpdate();
spCascadeFile1->PutLayout(L"Expand0 = \"c:\\\";SelectMode0 = 1");
spCascadeFile1->EndUpdate();