IPropertyControlSite

The IPropertyControlSite methods are (as
ordered in the virtual function table after the IUnknown
methods):

Offset

Method

0x0C

Commit

0x10

Cancel

0x14

Validate

0x18

NextControl

0x1C

RequestResize

0x20

OnStateChange

0x24

OnInvokeVerb

0x28

OnChanging

with prototypes:

HRESULT Commit (INT);

HRESULT Cancel (VOID);

HRESULT Validate (PWSTR *);

HRESULT NextControl (BOOL);

HRESULT RequestResize (VOID);

HRESULT OnStateChange (INT, INT *);

HRESULT OnInvokeVerb (PCWSTR);

HRESULT OnChanging (INT);

Implementation

The one known implementation of the
IPropertyControlSite
interface by COMCTL32 is for a class that Microsoft’s symbol files name as
CListView. An instance of this class is created for
each List-View control. One way to get a pointer to a List-View control’s
IPropertyControlSite interface is to send message
0x10BD to the control, with wParam addressing
IID_IPropertyControlSite and with
lParam addressing a variable that will receive the
interface pointer.

There are also implementations by BROWSEUI and SHELL32.

Availability

Though new for Windows Vista, this interface is not documented by Microsoft
in the January 2007 edition of the Software Development Kit (SDK) for Windows
Vista.

This page was created on 29th April 2008 and was last
modified on 30th April 2008.