Geoff Chappell - Software Analyst
CURRENT WORK ITEM - PREVIEW ONLY
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);
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.
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.