Original Article IntroductionShell MegaPack is a set of UI controls which gives drop-in Windows Explorer-like shell browsing functionality to your applications.
Components of Shell MegaPack Shell MegaPack consists of the following components and controls :
FolderView Control The FolderView control is a shell treeview control which shows a hierarchical display of folders on the computer similar to Windows Explorer. It is intended to replace the the awkward APIs and controls found in many programming languages. It is an excellent replacement for the SHBrowseForFolder API if you are using pure Windows API programming. Visual Basic developers can use it instead of the DirListBox control. For .Net programmers using C#, VB.Net or Managed C++ to developer Windows Forms applications, it is an excellent replacement for the FolderBrowserDialog, which is nothing but a managed wrapper around the SHBrowseForFolder API function. Many developers whip up a quick fix directorypicker or a browsefolderdialog or a FolderTree control which does not even display the proper icons for the folders. Trying to add anything more complicated than a simple hierarchical display of folders results in a rapid rise in the time required for development. Adding advanced features such as renaming, context menus, dragdrop, infotips become infeasible both in terms of cost and time. FolderView control is a good choice for developers in such a situation.
FileView Control FileView control mimics the left hand side listview of Windows Explorer. It shows the files and folders on the system in Thumbnail View, Details View or GroupView as well as the normal list and large icon views. It features advanced functionality like item filtering, context menus, dragdrop, infotips, custom columns and custom items. It can be used as a replacement for the FileListBox or the Microsoft Common Dialog controls in VB. For Visual C++ MFC programmers, it can be used in place of the CFileDialog and C#, Visual Basic.Net and MC++ WinForms developers can use it as a substitute for the FileDialog .Net component.
ShComboBox Control The ShComboBox Control allows you to add a Windows-Explorer-like drive-selection combobox to your application, showing all the drives, folders and even files exactly as Windows Explorer does. VB programmers can use it instead of the DriveListBox control. There is really no substitute for ShComboBox in either MFC or .Net.
ShellObjects ShellObjects is a collection of components and controls which bring various shell functionality to your applications:
ShellPopupNotification control This control allows you to display MSN and office 2003 style popup notifications from your application. Multiple popups can be displayed at once and the popups can be manually or automatically positioned according to your setting. Each shellpopup notification window looks like a balloon which can be used to notify the user of various events that occur in your application. The appearance, layout and contents of the popup can be completely controlled.
ShellNotifyIcon control This control allows you to add icons in the shell’s system tray notification area. It is an advanced replacement for the NotifyIcon component that comes with .Net or the CTrayIcon that is present in MFC. It has features like multiple images which can be used for animation or for indicating different states of your application, automatic popup context menus and balloon infotip styles.
ShellLink and URLLink These components allow you to easily create, read and manipulate shortcut (shelllink – *.lnk) files or internet shortcut (*.url) from your applications.
Flavors of Shell MegaPack
Shell MegaPack ActiveXThe ActiveX controls are compatible with a wide variety of programming languages and developing environments. They can be used in Visual Basic, Visual C++, Borland Delphi, Borland C++ Builder, Office VBA applications, HTML or ASP pages, dBase, Magic eDeveloper and Visual Interdev.
Shell MegaPack.NetThe .Net controls are compatible with Visual Studio.Net 2002, Visual Studio.Net 2003, Visual Studio.Net 2005 Beta 2, SharpDevelop and Borland Delphi.Net. They can be utilized in all .Net languages including C#, VB.Net, Managed C++ and J#.