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.

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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access