PlatformView.h
上传用户:easylife05
上传日期:2007-02-14
资源大小:393k
文件大小:2k
源码类别:

PlugIns编程

开发平台:

Visual C++

  1. // PlatformView.h : CPlatformView 类的接口
  2. //
  3. #pragma once
  4. #include "server.h"
  5. #include "menuplugin.h"
  6. #include "OcxCallDlg.h"
  7. class CMenuPlugin;
  8. class CServer;
  9. class CPlatformView : public CScrollView
  10. {
  11. protected: // 仅从序列化创建
  12. CPlatformView();
  13. DECLARE_DYNCREATE(CPlatformView)
  14. // 属性
  15. public:
  16. CPlatformDoc* GetDocument() const;
  17. CMenu m_child1Menu , m_child2Menu;//用于动态的主菜单项
  18. BOOL m_AddMenu1,m_AddMenu2;  //动态菜单是否已创建,初始值为FALSE+
  19. class CServer* m_pServer; 
  20. COcxCallDlg* m_pDlg;
  21. // 操作
  22. public:
  23. // 重写
  24. public:
  25. virtual void OnDraw(CDC* pDC);  // 重写以绘制该视图
  26. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  27. protected:
  28. virtual void OnInitialUpdate(); // 构造后第一次调用
  29. virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
  30. virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
  31. virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
  32. // 实现
  33. public:
  34. virtual ~CPlatformView();
  35. #ifdef _DEBUG
  36. virtual void AssertValid() const;
  37. virtual void Dump(CDumpContext& dc) const;
  38. #endif
  39. protected:
  40. // 生成的消息映射函数
  41. protected:
  42. DECLARE_MESSAGE_MAP()
  43. public:
  44. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  45. protected:
  46. void DoPopupMenu(UINT nMenuID);
  47. public:
  48. //afx_msg void OnPopupCommand();
  49. afx_msg void OnPopupCommand(UINT nMenuID);
  50. void RefreshMenu(CMenu &childMenu,char* menuName);
  51. void RefreshChildMenu(CMenu &childMenu,BOOL seprator,char* menuName);
  52. virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
  53. BOOL CheckInPlugin(GUID catID);
  54. UINT m_basicMenuID;
  55. UINT m_currentMenuID;
  56. protected:
  57. CMenuPlugin m_MenuPluginList;
  58. CInterfaceDB m_interfaceList;
  59. CActiveXDB   m_ActiveXList;
  60. public:
  61. BOOL CallPlugin(CLSID classID, short actionID);
  62. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  63. void SendMouseMessage(UINT Message, UINT flags, int x, int y);
  64. afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  65. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  66. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  67. BOOL CheckInActiveX(GUID catID);
  68. BOOL CallActiveX(CLSID classID);
  69. };
  70. #ifndef _DEBUG  // PlatformView.cpp 的调试版本
  71. inline CPlatformDoc* CPlatformView::GetDocument() const
  72.    { return reinterpret_cast<CPlatformDoc*>(m_pDocument); }
  73. #endif