Explorer Architecture

As Figure 11.4 illustrates, there are five distinct parts to Explorer: the menu, the toolbar, the tree view, the content pane (or view), and the status bar.

Explorer architecture

Figure 11-4. Explorer architecture

When Explorer finds a namespace extension at a junction point (as defined in any of the four ways discussed in Section 11.1.2 earlier in this chapter), it loads the extension and queries for IShellFolder. This interface represents the folder in the tree view and basically acts as a liaison to the rest of the namespace extension. Everything a namespace extension needs is generated through this interface.

Explorer then asks the extension for an IShellView interface. This interface is provided by IShellFolder and is responsible for creating the view window in the content pane. The view in turn is responsible for displaying the data. Something that might not be so obvious is that Explorer does not provide the list view that is usually found in the content pane. It is the responsibility of the object implementing IShellView to create this window. Also, it must be noted that a namespace extension must be prepared to create multiple views. For example, Explorer provides five views: Large Icons, Small Icons, Details, List, and View as Web Page. But you can also provide custom views. Consider the Fonts namespace extension. It provides a view called List Fonts by Similarity that ...

Get VB Shell Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.