Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
3.1 KiB

  1. //
  2. // Copyright 2001 - Microsoft Corporation
  3. //
  4. //
  5. // Created By:
  6. // Geoff Pease (GPease) 23-JAN-2001
  7. //
  8. // Maintained By:
  9. // Geoff Pease (GPease) 23-JAN-2001
  10. //
  11. #pragma once
  12. class
  13. CAdvancedDlg
  14. : public IUnknown
  15. {
  16. private: // data
  17. ULONG _cRef; // reference counter
  18. HWND _hwndParent; // parent window of dialog
  19. HWND _hdlg; // dialog handle
  20. HWND _hwndList; // list view window handle
  21. BOOL _fMultipleSources; // TRUE if multiple sources were selected
  22. IEditVariantsInPlace * _pEdit; // active control editting a variant
  23. CPropertyCacheItem * _pItem; // item being editted by control - NO REFCOUNT
  24. private: // methods
  25. explicit CAdvancedDlg( void );
  26. ~CAdvancedDlg( void );
  27. HRESULT
  28. Init( HWND hwndParentIn );
  29. HRESULT
  30. CreateControlForProperty( INT iItemIn );
  31. HRESULT
  32. PersistControlInProperty( void );
  33. void
  34. ReplaceListViewWithString( int idsIn );
  35. HRESULT
  36. DoHelp( HWND hwndIn, int iXIn, int iYIn, UINT uCommandIn );
  37. //
  38. // Message Handlers
  39. //
  40. static INT_PTR CALLBACK
  41. DlgProc( HWND hDlgIn, UINT uMsgIn, WPARAM wParam, LPARAM lParam );
  42. LRESULT
  43. OnInitDialog( void );
  44. LRESULT
  45. OnCommand( WORD wCodeIn, WORD wCtlIn, LPARAM lParam );
  46. LRESULT
  47. OnNotify( int iCtlIdIn, LPNMHDR pnmhIn );
  48. LRESULT
  49. OnNotifyClick( LPNMITEMACTIVATE pnmIn );
  50. LRESULT
  51. OnDestroy( void );
  52. LRESULT
  53. OnHelp( LPHELPINFO pHelpInfoIn );
  54. LRESULT
  55. OnContextMenu( HWND hwndIn, int iXIn, int iYIn );
  56. static LRESULT CALLBACK
  57. ListViewSubclassProc( HWND hwndIn
  58. , UINT uMsgIn
  59. , WPARAM wParam
  60. , LPARAM lParam
  61. , UINT_PTR uIdSubclassIn
  62. , DWORD_PTR dwRefDataIn
  63. );
  64. LRESULT
  65. List_OnCommand( WORD wCtlIn, WORD wCodeIn, LPARAM lParam );
  66. LRESULT
  67. List_OnChar( UINT uKeyCodeIn, LPARAM lParam );
  68. LRESULT
  69. List_OnKeyDown( UINT uKeyCodeIn, LPARAM lParam );
  70. LRESULT
  71. List_OnNotify( int iCtlIdIn, LPNMHDR pnmhIn );
  72. LRESULT
  73. List_OnVertScroll( WORD wCodeIn, WORD wPosIn, HWND hwndFromIn );
  74. LRESULT
  75. List_OnHornScroll( WORD wCodeIn, WORD wPosIn, HWND hwndFromIn );
  76. public: // methods
  77. static HRESULT
  78. CreateInstance( CAdvancedDlg ** pAdvDlgOut, HWND hwndParentIn );
  79. HRESULT
  80. Show( void );
  81. HRESULT
  82. Hide( void );
  83. HRESULT
  84. PopulateProperties( CPropertyCache * ppcIn, DWORD dwDocTypeIn, BOOL fMultipleIn );
  85. // IUnknown
  86. STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv );
  87. STDMETHOD_( ULONG, AddRef )( void );
  88. STDMETHOD_( ULONG, Release )( void );
  89. };