O'Reilly logo

VB Shell Programming by J.P. Hamilton

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Creating a Property Sheet Handler

In this chapter, we will create a property sheet extension that will allow us to modify every aspect of a .rad file: animal type, gender, color, age, weight, and noise. The property sheet we will create is shown in Figure 6.3.

RAD property sheet

Figure 6-3. RAD property sheet

Implementing IShellExtInit

We will continue to use the RadEx project. But the first thing we need to do is to add the clsDropFiles class to the project (See Example 6.1). This class will handle the implementation of IShellExtInit. If you look at the class listing, you will see that it contains the code that was used previously in our implementation of IShellExtInit (see Chapter 4). The code is very generic. In fact, we will reuse the clsDropFiles class when we discuss drop handlers in Chapter 8.

After clsDropFiles has been included in the project, we need to add another class to the project called clsPropSheet. This class will contain everything necessary to implement a property sheet handler. Once this has been done, we can implement IShellExtInit in the clsPropSheet class module as follows:

'clsPropSheet Option Explicit Implements IShellExtInit Implements IShellPropSheetExt Private m_clsDropFiles As clsDropFiles Private Sub IShellExtInit_Initialize( _ ByVal pidlFolder As VBShellLib.LPCITEMIDLIST, _ ByVal pDataObj As VBShellLib.IDataObject, _ ByVal hKeyProgID As VBShellLib.HKEY) Set m_clsDropFiles ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required