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.

168 lines
4.5 KiB

  1. // mfcext.h : main header file for the MFCEXT DLL
  2. //
  3. #if !defined(AFX_MFCEXT_H__BA583A69_879D_11D1_9ACF_00A0C91F9C8B__INCLUDED_)
  4. #define AFX_MFCEXT_H__BA583A69_879D_11D1_9ACF_00A0C91F9C8B__INCLUDED_
  5. #if _MSC_VER >= 1000
  6. #pragma once
  7. #endif // _MSC_VER >= 1000
  8. #ifndef __AFXWIN_H__
  9. #error include 'stdafx.h' before including this file for PCH
  10. #endif
  11. #include <ole2.h>
  12. #include <shlobj.h>
  13. #include <prsht.h>
  14. #include <winuser.h>
  15. #include "propid.h"
  16. #include "resource.h" // main symbols
  17. #include <initguid.h>
  18. #include <wab.h>
  19. /////////////////////////////////////////////////////////////////////////////
  20. // CMfcextApp
  21. // See mfcext.cpp for the implementation of this class
  22. //
  23. class CMfcextApp : public CWinApp
  24. {
  25. public:
  26. CMfcextApp();
  27. // Overrides
  28. // ClassWizard generated virtual function overrides
  29. //{{AFX_VIRTUAL(CMfcextApp)
  30. public:
  31. virtual BOOL InitInstance();
  32. //}}AFX_VIRTUAL
  33. //{{AFX_MSG(CMfcextApp)
  34. // NOTE - the ClassWizard will add and remove member functions here.
  35. // DO NOT EDIT what you see in these blocks of generated code !
  36. //}}AFX_MSG
  37. DECLARE_MESSAGE_MAP()
  38. };
  39. /////////////////////////////////////////////////////////////////////////////
  40. // CMfcExt command target
  41. class CMfcExt : public CCmdTarget
  42. {
  43. DECLARE_DYNCREATE(CMfcExt)
  44. protected:
  45. CMfcExt(); // protected constructor used by dynamic creation
  46. // Attributes
  47. public:
  48. UINT m_cRefThisDll; // Reference count for this DLL
  49. HPROPSHEETPAGE m_hPage1; // Handle to the property sheet page
  50. HPROPSHEETPAGE m_hPage2; // Handle to the property sheet page
  51. LPWABEXTDISPLAY m_lpWED;
  52. LPWABEXTDISPLAY m_lpWEDContext;
  53. LPMAPIPROP m_lpPropObj; // For context menu extensions, hang onto the prop obj
  54. // Operations
  55. public:
  56. // Overrides
  57. // ClassWizard generated virtual function overrides
  58. //{{AFX_VIRTUAL(CPropExt)
  59. public:
  60. virtual void OnFinalRelease();
  61. //}}AFX_VIRTUAL
  62. // Implementation
  63. protected:
  64. virtual ~CMfcExt();
  65. // Generated message map functions
  66. //{{AFX_MSG(CMfcExt)
  67. // NOTE - the ClassWizard will add and remove member functions here.
  68. //}}AFX_MSG
  69. DECLARE_MESSAGE_MAP()
  70. DECLARE_OLECREATE(CMfcExt)
  71. // Generated OLE dispatch map functions
  72. //{{AFX_DISPATCH(CMfcExt)
  73. // NOTE - the ClassWizard will add and remove member functions here.
  74. //}}AFX_DISPATCH
  75. DECLARE_DISPATCH_MAP()
  76. // Declare the interface map for this object
  77. DECLARE_INTERFACE_MAP()
  78. // IShellPropSheetExt interface
  79. BEGIN_INTERFACE_PART(MfcExt, IShellPropSheetExt)
  80. STDMETHOD(AddPages)(LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam);
  81. STDMETHOD(ReplacePage)(UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam);
  82. END_INTERFACE_PART(MfcExt)
  83. // IWABExtInit interface
  84. BEGIN_INTERFACE_PART(WABInit, IWABExtInit)
  85. STDMETHOD(Initialize)(LPWABEXTDISPLAY lpWED);
  86. END_INTERFACE_PART(WABInit)
  87. BEGIN_INTERFACE_PART(ContextMenuExt, IContextMenu)
  88. STDMETHOD(GetCommandString)(UINT idCmd,UINT uFlags,UINT *pwReserved,LPSTR pszName,UINT cchMax);
  89. STDMETHOD(InvokeCommand)(LPCMINVOKECOMMANDINFO lpici);
  90. STDMETHOD(QueryContextMenu)(HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags);
  91. END_INTERFACE_PART(ContextMenuExt)
  92. static BOOL APIENTRY MfcExtDlgProc( HWND hDlg, UINT message, UINT wParam, LONG lParam);
  93. static BOOL APIENTRY MfcExtDlgProc2( HWND hDlg, UINT message, UINT wParam, LONG lParam);
  94. };
  95. /////////////////////////////////////////////////////////////////////////////
  96. /////////////////////////////////////////////////////////////////////////////
  97. // CDlgContext dialog
  98. class CDlgContext : public CDialog
  99. {
  100. // Construction
  101. public:
  102. CDlgContext(CWnd* pParent = NULL); // standard constructor
  103. LPADRLIST m_lpAdrList;
  104. // Dialog Data
  105. //{{AFX_DATA(CDlgContext)
  106. enum { IDD = IDD_CONTEXT };
  107. // NOTE: the ClassWizard will add data members here
  108. //}}AFX_DATA
  109. // Overrides
  110. // ClassWizard generated virtual function overrides
  111. //{{AFX_VIRTUAL(CDlgContext)
  112. protected:
  113. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  114. //}}AFX_VIRTUAL
  115. // Implementation
  116. protected:
  117. // Generated message map functions
  118. //{{AFX_MSG(CDlgContext)
  119. virtual BOOL OnInitDialog();
  120. //}}AFX_MSG
  121. DECLARE_MESSAGE_MAP()
  122. };
  123. //{{AFX_INSERT_LOCATION}}
  124. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  125. #endif // !defined(AFX_MFCEXT_H__BA583A69_879D_11D1_9ACF_00A0C91F9C8B__INCLUDED_)