102 lines
3 KiB
C
102 lines
3 KiB
C
|
//
|
||
|
// Copyright 2001 - Microsoft Corporation
|
||
|
//
|
||
|
//
|
||
|
// Created By:
|
||
|
// Geoff Pease (GPease) 23-JAN-2001
|
||
|
//
|
||
|
// Maintained By:
|
||
|
// Geoff Pease (GPease) 23-JAN-2001
|
||
|
//
|
||
|
#pragma once
|
||
|
|
||
|
|
||
|
class
|
||
|
CAdvancedDlg
|
||
|
: public IUnknown
|
||
|
{
|
||
|
private: // data
|
||
|
ULONG _cRef; // reference counter
|
||
|
HWND _hwndParent; // parent window of dialog
|
||
|
HWND _hdlg; // dialog handle
|
||
|
|
||
|
HWND _hwndList; // list view window handle
|
||
|
|
||
|
BOOL _fMultipleSources; // TRUE if multiple sources were selected
|
||
|
IEditVariantsInPlace * _pEdit; // active control editting a variant
|
||
|
CPropertyCacheItem * _pItem; // item being editted by control - NO REFCOUNT
|
||
|
|
||
|
private: // methods
|
||
|
explicit CAdvancedDlg( void );
|
||
|
~CAdvancedDlg( void );
|
||
|
|
||
|
HRESULT
|
||
|
Init( HWND hwndParentIn );
|
||
|
HRESULT
|
||
|
CreateControlForProperty( INT iItemIn );
|
||
|
HRESULT
|
||
|
PersistControlInProperty( void );
|
||
|
void
|
||
|
ReplaceListViewWithString( int idsIn );
|
||
|
HRESULT
|
||
|
DoHelp( HWND hwndIn, int iXIn, int iYIn, UINT uCommandIn );
|
||
|
|
||
|
//
|
||
|
// Message Handlers
|
||
|
//
|
||
|
|
||
|
static INT_PTR CALLBACK
|
||
|
DlgProc( HWND hDlgIn, UINT uMsgIn, WPARAM wParam, LPARAM lParam );
|
||
|
LRESULT
|
||
|
OnInitDialog( void );
|
||
|
LRESULT
|
||
|
OnCommand( WORD wCodeIn, WORD wCtlIn, LPARAM lParam );
|
||
|
LRESULT
|
||
|
OnNotify( int iCtlIdIn, LPNMHDR pnmhIn );
|
||
|
LRESULT
|
||
|
OnNotifyClick( LPNMITEMACTIVATE pnmIn );
|
||
|
LRESULT
|
||
|
OnDestroy( void );
|
||
|
LRESULT
|
||
|
OnHelp( LPHELPINFO pHelpInfoIn );
|
||
|
LRESULT
|
||
|
OnContextMenu( HWND hwndIn, int iXIn, int iYIn );
|
||
|
|
||
|
static LRESULT CALLBACK
|
||
|
ListViewSubclassProc( HWND hwndIn
|
||
|
, UINT uMsgIn
|
||
|
, WPARAM wParam
|
||
|
, LPARAM lParam
|
||
|
, UINT_PTR uIdSubclassIn
|
||
|
, DWORD_PTR dwRefDataIn
|
||
|
);
|
||
|
LRESULT
|
||
|
List_OnCommand( WORD wCtlIn, WORD wCodeIn, LPARAM lParam );
|
||
|
LRESULT
|
||
|
List_OnChar( UINT uKeyCodeIn, LPARAM lParam );
|
||
|
LRESULT
|
||
|
List_OnKeyDown( UINT uKeyCodeIn, LPARAM lParam );
|
||
|
LRESULT
|
||
|
List_OnNotify( int iCtlIdIn, LPNMHDR pnmhIn );
|
||
|
LRESULT
|
||
|
List_OnVertScroll( WORD wCodeIn, WORD wPosIn, HWND hwndFromIn );
|
||
|
LRESULT
|
||
|
List_OnHornScroll( WORD wCodeIn, WORD wPosIn, HWND hwndFromIn );
|
||
|
|
||
|
public: // methods
|
||
|
static HRESULT
|
||
|
CreateInstance( CAdvancedDlg ** pAdvDlgOut, HWND hwndParentIn );
|
||
|
|
||
|
HRESULT
|
||
|
Show( void );
|
||
|
HRESULT
|
||
|
Hide( void );
|
||
|
HRESULT
|
||
|
PopulateProperties( CPropertyCache * ppcIn, DWORD dwDocTypeIn, BOOL fMultipleIn );
|
||
|
|
||
|
// IUnknown
|
||
|
STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv );
|
||
|
STDMETHOD_( ULONG, AddRef )( void );
|
||
|
STDMETHOD_( ULONG, Release )( void );
|
||
|
};
|