CURRENT WORK ITEM - PREVIEW ONLY

IPropertyControlSite

IID_IPropertyControlSite {61AD7F6B-DD60-4E95-B72B-F2A25C3ACFF6}

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.