windows-nt/Source/XPSP1/NT/shell/ext/docpropv3/advanceddlg.h

102 lines
3 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
//
// 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 );
};