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 );
|
|
};
|