40:
We're looking for a control to show files, just like the eXShellView, but than we would like to specify the files themselves. Is that possible using your control

with ExShellView1 do
begin
	ViewMode := EXSHELLVIEWLib_TLB.LargeIcons;
	HeaderVisible := False;
	BrowseFiles := 'C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe|C:\Program Files\Microsoft Visual FoxPro 9\vfp9.exe';
end
39:
How do I prevent pressing the Backspace, or go up to the parent

// KeyDown event - Occurs when the user presses a key while an object has the focus.
procedure TForm1.ExShellView1KeyDown(ASender: TObject; var KeyCode : Smallint;Shift : Smallint);
begin
	with ExShellView1 do
	begin
		OutputDebugString( 'Set the KeyCode = 0, if the KeyCode is 8 ' );
		KeyCode := 0;
	end
end;

with ExShellView1 do
begin
	ViewMode := EXSHELLVIEWLib_TLB.Details;
	BrowseFolder := 'c:\Temp';
	Refresh();
end
38:
How can I show grid lines around items

with ExShellView1 do
begin
	ViewMode := EXSHELLVIEWLib_TLB.Details;
	DrawGridLines := True;
	Refresh();
end
37:
How can I prevent shwoing the overlay icons (shortcut icons have a small arrow in lower-left corner, shared folders have a hand that shows that folder is shared, etc. )

with ExShellView1 do
begin
	ViewMode := EXSHELLVIEWLib_TLB.LargeIcons;
	OverlayIcons := False;
	Refresh();
end
36:
I need to provide my own context menu but I am not able to find RClick event. What can be done

// QueryContextMenu event - Fired when the context menu is about to be active. You can supply new items to the context menu.
procedure TForm1.ExShellView1QueryContextMenu(ASender: TObject; var Items : WideString;var Separator : WideString);
begin
	with ExShellView1 do
	begin
		OutputDebugString( 'Show here your popup/context menu' );
	end
end;

with ExShellView1 do
begin
	DefaultMenuItems := False;
end
35:
How can I provide my own context menu (RClick event is missing)

// InvokeMenuCommand event - Fired when the user selects an item context menu that has been added during QueryContextMenu event.
procedure TForm1.ExShellView1InvokeMenuCommand(ASender: TObject; Command : WideString);
begin
	with ExShellView1 do
	begin
		OutputDebugString( Command );
	end
end;

// QueryContextMenu event - Fired when the context menu is about to be active. You can supply new items to the context menu.
procedure TForm1.ExShellView1QueryContextMenu(ASender: TObject; var Items : WideString;var Separator : WideString);
begin
	with ExShellView1 do
	begin
		Separator := ',';
		Items := 'First,Second,Third';
	end
end;

with ExShellView1 do
begin
	DefaultMenuItems := False;
end
34:
Is it possible to specify the "Extra Large Icons" view

with ExShellView1 do
begin
	ViewMode := EXSHELLVIEWLib_TLB.Extra_Large_Icons;
end
33:
Is it possible to specify the "Large Icons" view

with ExShellView1 do
begin
	ViewMode := EXSHELLVIEWLib_TLB.Large_Icons;
end
32:
Is it possible to specify the "Medium Icons" view

with ExShellView1 do
begin
	ViewMode := EXSHELLVIEWLib_TLB.Medium_Icons;
end
31:
How can I hide the file names

with ExShellView1 do
begin
	HideFileNames := True;
	ViewMode := EXSHELLVIEWLib_TLB.Thumbnail;
end
30:
Is it possible to set the Auto Arrange and Align To Grid flags by code

with ExShellView1 do
begin
	AutoArrange := True;
	AlignToGrid := True;
	ViewMode := EXSHELLVIEWLib_TLB.Thumbnail;
end
29:
Is it possible to set the Auto Arrange flag by code

with ExShellView1 do
begin
	AutoArrange := True;
	ViewMode := EXSHELLVIEWLib_TLB.Thumbnail;
end
28:
How do I specify the current folder

with ExShellView1 do
begin
	CurrentFolder := 'c:\windows';
end
27:
Is it possible to disable showing tooltips for files and folders

with ExShellView1 do
begin
	HideToolTips := True;
end
26:
Is it possible to hide the control's header

with ExShellView1 do
begin
	HeaderVisible := False;
end
25:
How can I get the name of file being double clicked

// ObjectSelect event - Fired when the user selects a new object for browsing.
procedure TForm1.ExShellView1ObjectSelect(ASender: TObject; Object : IExShellObject);
begin
	with ExShellView1 do
	begin
		CancelObjectSelect();
		OutputDebugString( Object );
	end
end;


24:
How can I prevent opening or selecting a folder or zip files when user double click it
// ObjectSelect event - Fired when the user selects a new object for browsing.
procedure TForm1.ExShellView1ObjectSelect(ASender: TObject; Object : IExShellObject);
begin
	with ExShellView1 do
	begin
		CancelObjectSelect();
	end
end;


23:
Is it possible to list only files, no folders

with ExShellView1 do
begin
	ModifyFolderFlags(EXSHELLVIEWLib_TLB.NoSubFolders,EXSHELLVIEWLib_TLB.NoFlag);
end
22:
How can I enable multiple selection

with ExShellView1 do
begin
	ModifyFolderFlags(EXSHELLVIEWLib_TLB.NoFlag,EXSHELLVIEWLib_TLB.SingleSel);
	Refresh();
end
21:
How can I select a file or a folder

with ExShellView1 do
begin
	Objects.Get(EXSHELLVIEWLib_TLB.AllItems);
	Objects.Item[OleVariant(0)].SelectItem(EXSHELLVIEWLib_TLB.Select);
end
20:
How can I get all files and folders as they are listed
with ExShellView1 do
begin
	Objects.Get(Integer(EXSHELLVIEWLib_TLB.AsDisplayed) Or Integer(EXSHELLVIEWLib_TLB.AllItems));
	OutputDebugString( Objects.Count );
end
19:
How can I get all files and folders being displayed
with ExShellView1 do
begin
	Objects.Get(EXSHELLVIEWLib_TLB.AllItems);
	OutputDebugString( Objects.Count );
end
18:
How do I get the selected files or folders as they are displayed
with ExShellView1 do
begin
	Objects.Get(Integer(EXSHELLVIEWLib_TLB.AsDisplayed) Or Integer(EXSHELLVIEWLib_TLB.SelectedItems));
	OutputDebugString( Objects.Count );
end
17:
How do I get the selected files or folders
with ExShellView1 do
begin
	Objects.Get(EXSHELLVIEWLib_TLB.SelectedItems);
	OutputDebugString( Objects.Count );
end
16:
How can I disable or enable the control's context menu

with ExShellView1 do
begin
	DefaultMenuItems := False;
end
15:
How can I include only files that match a pattern

with ExShellView1 do
begin
	IncludeObjectType := EXSHELLVIEWLib_TLB.PatternObjects;
	FilePattern := '*.exe *.lnk';
end
14:
How can I include only files that match a pattern

with ExShellView1 do
begin
	IncludeObjectType := EXSHELLVIEWLib_TLB.PatternObjects;
	FilePattern := '*.bmp';
end
13:
How can I list only folders in the view

with ExShellView1 do
begin
	IncludeObjectType := EXSHELLVIEWLib_TLB.FoldersOnly;
end
12:
How do I specify what objects files or folders should be included in the list

with ExShellView1 do
begin
	IncludeObjectType := EXSHELLVIEWLib_TLB.FoldersOnly;
end
11:
How do I browse a special folder

with ExShellView1 do
begin
	BrowseFolder := (IUnknown(ShellFolder[SpecialFolder[EXSHELLVIEWLib_TLB.Programs]]) as EXSHELLVIEWLib_TLB.ExShellFolder);
end
10:
How can I go up to one level, so I can browse the parent folder

with ExShellView1 do
begin
	BrowseFolder := (IUnknown(ShellFolder['C:\']) as EXSHELLVIEWLib_TLB.ExShellFolder);
	UpOneLevel();
end
9:
How do I browse a specified folder

with ExShellView1 do
begin
	BrowseFolder := (IUnknown(ShellFolder['C:\']) as EXSHELLVIEWLib_TLB.ExShellFolder);
end
8:
How can I disable or enable the entire control

with ExShellView1 do
begin
	Enabled := False;
end
7:
How do I refresh the control
with ExShellView1 do
begin
	Refresh();
end
6:
How can I change the control's font

with ExShellView1 do
begin
	f := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('StdFont'))) as stdole_TLB.StdFont);
	with f do
	begin
		Name := 'Verdana';
		Size := 12;
	end;
	Font := (IUnknown(f) as stdole_TLB.StdFont);
end
5:
How can I change the view, so it displays as THUMBNAIL

with ExShellView1 do
begin
	ViewMode := EXSHELLVIEWLib_TLB.Thumbnail;
end
4:
How can I change the view, so it displays as a a grid with details

with ExShellView1 do
begin
	ViewMode := EXSHELLVIEWLib_TLB.Details;
end
3:
How can I change the view, so it displays as a list

with ExShellView1 do
begin
	ViewMode := EXSHELLVIEWLib_TLB.List;
end
2:
How can I change the view, so it displays small icons

with ExShellView1 do
begin
	ViewMode := EXSHELLVIEWLib_TLB.SmallIcon;
end
1:
How can I change the view, so it displays large icons

with ExShellView1 do
begin
	ViewMode := EXSHELLVIEWLib_TLB.LargeIcons;
end