StylerView.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:8k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // StylerView.h : interface of the CStylerView class
  2. //
  3. #pragma once
  4. #include "StylerDoc.h"
  5. static const CLSID CGID_IWebBrowser = 
  6. {0xED016940L,0xBD5B,0x11cf,0xBA, 0x4E,0x00,0xC0,0x4F,0xD7,0x08,0x16};
  7. #define HTMLID_FIND 1
  8. #define HTMLID_VIEWSOURCE 2
  9. #define HTMLID_OPTIONS 3 
  10. #define DISPID_AMBIENT_DLCONTROL    (-5512)
  11. #define DLCTL_DLIMAGES              0x00000010
  12. #define DLCTL_VIDEOS                0x00000020
  13. #define DLCTL_BGSOUNDS              0x00000040
  14. #define IDM_COPY                    15
  15. #define IDM_CUT                     16
  16. #define IDM_PASTE                   26
  17. class CStylerView : public CHtmlView
  18. {
  19. protected: // create from serialization only
  20. CStylerView();
  21. DECLARE_DYNCREATE(CStylerView)
  22. // Attributes
  23. public:
  24. static BOOL m_bFilterAll;
  25. static BOOL m_bFilterList;
  26. protected:
  27. BOOL m_bBack, m_bForward;
  28. BOOL m_bActive;
  29. int m_nLoadingState; 
  30. int m_nProgress;
  31. BOOL m_bPopup;
  32. BOOL m_bLock;
  33. LPDISPATCH m_lpDisp;
  34. //static CImageList m_lstTabImages;
  35. static HICON m_arrIcons[5];
  36. static long m_nFontSize;
  37. static BOOL m_bShowImages;
  38. UINT m_nEncoding;
  39. struct MOUSEINFO
  40. {
  41. long nLClick;
  42. long nRClick;
  43. CPoint ptClick;
  44. void Clear()
  45. {
  46. nLClick = 0;
  47. nRClick = 0;
  48. }
  49. } m_infMouse;
  50. // Operations
  51. public:
  52. BOOL GetTabIcon(CImageList** imgList, int* nIndex);
  53.   void SetLoading(BOOL bLoading);
  54. CStylerDoc* GetDocument() const;
  55. static void Load();
  56. static void Save();
  57. protected:
  58. BOOL IsLoading() {return m_nLoadingState < 3;}
  59. void RefreshExplorer();
  60. BOOL QueryFormsCommand(DWORD dwCommandID);
  61. void ExecFormsCommand(DWORD dwCommandID);
  62. BOOL PopupFilter(CString str);
  63. void SetAddress();
  64. CComPtr<IHTMLDocument2> GetHtmlDocument2();
  65. // Overrides
  66. public:
  67. // Implementation
  68. public:
  69. virtual ~CStylerView();
  70. #ifdef _DEBUG
  71. virtual void AssertValid() const;
  72. virtual void Dump(CDumpContext& dc) const;
  73. #endif
  74. protected:
  75. //{{AFX_MSG(CChildFrame)
  76. afx_msg void OnSize(UINT nType, int cx, int cy);
  77. afx_msg void OnParentNotify(UINT message, LPARAM lParam);
  78. afx_msg void OnToolsOptions();
  79. afx_msg void OnUpdateGotoBack(CCmdUI *pCmdUI);
  80. afx_msg void OnUpdateGotoForward(CCmdUI *pCmdUI);
  81. afx_msg void OnFileProperties();
  82. afx_msg void OnEditSelectall();
  83. afx_msg void OnFilePrintPreview();
  84. afx_msg void OnFileSaveAs();
  85. afx_msg void OnEditFind();
  86. afx_msg void OnViewSource();
  87. afx_msg void OnShowImages();
  88. afx_msg void OnUpdateShowImages(CCmdUI *pCmdUI);
  89. afx_msg void OnAddToFavorites();
  90. afx_msg void OnUpdateAddPageHere(CCmdUI *pCmdUI);
  91. afx_msg void OnEditCopy();
  92. afx_msg void OnUpdateEditCopy(CCmdUI* pCmdUI);
  93. afx_msg void OnEditCut();
  94. afx_msg void OnUpdateEditCut(CCmdUI* pCmdUI);
  95. afx_msg void OnEditPaste();
  96. afx_msg void OnUpdateEditPaste(CCmdUI* pCmdUI);
  97. afx_msg void OnTextSize();
  98. afx_msg void OnTextSizeRange(UINT nID);
  99. afx_msg void OnUpdateTextSizeRange(CCmdUI* pCmdUI);
  100. afx_msg void OnViewEncodingRange(UINT);
  101. afx_msg void OnUpdateViewEncodingRange(CCmdUI *pCmdUI);
  102. afx_msg void OnViewLock();
  103. afx_msg void OnUpdateViewLock(CCmdUI *pCmdUI);
  104. afx_msg void OnAddPageHere(NMHDR* pNMHDR, LRESULT* pResult);
  105. afx_msg LRESULT OnGetTabIcon(WPARAM, LPARAM);
  106. afx_msg void OnUpdateIndicator(CCmdUI *pCmdUI);
  107. //}}AFX_MSG
  108. public:
  109. //{{AFX_VIRTUAL(CChildFrame)
  110. virtual void OnActivateView( BOOL bActivate, CView* pActivateView, 
  111. CView* pDeactiveView );
  112. virtual void OnNewWindow2(LPDISPATCH* ppDisp, BOOL* Cancel);
  113. virtual void OnTitleChange(LPCTSTR lpszText);
  114. virtual void OnCommandStateChange(long nCommand, BOOL bEnable);
  115. virtual void OnBeforeNavigate2(LPCTSTR lpszURL, DWORD nFlags,
  116. LPCTSTR lpszTargetFrameName, CByteArray& baPostedData,
  117. LPCTSTR lpszHeaders, BOOL* pbCancel);
  118. virtual void OnProgressChange(long nProgress, long nProgressMax);
  119. virtual void PostNcDestroy();
  120. virtual void OnInitialUpdate(); // called first time after construct
  121. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  122. virtual BOOL PreTranslateMessage(MSG* pMsg);
  123. virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName,
  124. DWORD dwStyle, const RECT& rect, CWnd* pParentWnd,
  125. UINT nID, CCreateContext* pContext);
  126. virtual void NavigateComplete2(LPDISPATCH pDisp, VARIANT* URL);
  127. virtual void DocumentComplete(LPDISPATCH pDisp, VARIANT* URL);
  128. virtual void OnLinkStartDrag(NMHDR* pNMHDR, LRESULT* pRes);
  129. //}}AFX_VIRTUAL
  130. protected:
  131. DECLARE_MESSAGE_MAP()
  132. public:
  133. BEGIN_INTERFACE_PART(DocHostUIHandler, IDocHostUIHandler)
  134. STDMETHOD(ShowContextMenu)(/* [in] */ DWORD dwID,
  135.             /* [in] */ POINT __RPC_FAR *ppt,
  136.             /* [in] */ IUnknown __RPC_FAR *pcmdtReserved,
  137.             /* [in] */ IDispatch __RPC_FAR *pdispReserved);
  138. STDMETHOD(GetHostInfo)( 
  139.             /* [out][in] */ DOCHOSTUIINFO __RPC_FAR *pInfo);
  140. STDMETHOD(ShowUI)( 
  141.             /* [in] */ DWORD dwID,
  142.             /* [in] */ IOleInPlaceActiveObject __RPC_FAR *pActiveObject,
  143.             /* [in] */ IOleCommandTarget __RPC_FAR *pCommandTarget,
  144.             /* [in] */ IOleInPlaceFrame __RPC_FAR *pFrame,
  145.             /* [in] */ IOleInPlaceUIWindow __RPC_FAR *pDoc);
  146. STDMETHOD(HideUI)(void);
  147. STDMETHOD(UpdateUI)(void);
  148. STDMETHOD(EnableModeless)(/* [in] */ BOOL fEnable);
  149. STDMETHOD(OnDocWindowActivate)(/* [in] */ BOOL fEnable);
  150. STDMETHOD(OnFrameWindowActivate)(/* [in] */ BOOL fEnable);
  151. STDMETHOD(ResizeBorder)( 
  152.             /* [in] */ LPCRECT prcBorder,
  153.             /* [in] */ IOleInPlaceUIWindow __RPC_FAR *pUIWindow,
  154.             /* [in] */ BOOL fRameWindow);
  155. STDMETHOD(TranslateAccelerator)( 
  156.             /* [in] */ LPMSG lpMsg,
  157.             /* [in] */ const GUID __RPC_FAR *pguidCmdGroup,
  158.             /* [in] */ DWORD nCmdID);
  159. STDMETHOD(GetOptionKeyPath)( 
  160.             /* [out] */ LPOLESTR __RPC_FAR *pchKey,
  161.             /* [in] */ DWORD dw);
  162. STDMETHOD(GetDropTarget)(
  163.             /* [in] */ IDropTarget __RPC_FAR *pDropTarget,
  164.             /* [out] */ IDropTarget __RPC_FAR *__RPC_FAR *ppDropTarget);
  165.     STDMETHOD(GetExternal)( 
  166.             /* [out] */ IDispatch __RPC_FAR *__RPC_FAR *ppDispatch);
  167.     STDMETHOD(TranslateUrl)( 
  168.             /* [in] */ DWORD dwTranslate,
  169.             /* [in] */ OLECHAR __RPC_FAR *pchURLIn,
  170.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppchURLOut);
  171.     STDMETHOD(FilterDataObject)( 
  172.             /* [in] */ IDataObject __RPC_FAR *pDO,
  173.             /* [out] */ IDataObject __RPC_FAR *__RPC_FAR *ppDORet);
  174. END_INTERFACE_PART(DocHostUIHandler)
  175. BEGIN_INTERFACE_PART(OleClientSite, IOleClientSite)
  176. STDMETHOD(SaveObject)( void) { return E_NOTIMPL;}
  177.        
  178. STDMETHOD (GetMoniker)( 
  179.             /* [in] */ DWORD /*dwAssign*/,
  180.             /* [in] */ DWORD /*dwWhichMoniker*/,
  181.             /* [out] */ IMoniker ** /*ppmk*/) { return E_NOTIMPL;}
  182.         
  183.     STDMETHOD(GetContainer)( 
  184.             /* [out] */ IOleContainer ** /*ppContainer*/) { return E_NOTIMPL;}
  185.         
  186.     STDMETHOD(ShowObject)( void) { return E_NOTIMPL;}
  187.         
  188.     STDMETHOD(OnShowWindow)( 
  189.             /* [in] */ BOOL /*fShow*/) { return E_NOTIMPL;}
  190.         
  191.     STDMETHOD(RequestNewObjectLayout)( void) { return E_NOTIMPL;}        
  192. END_INTERFACE_PART(OleClientSite) 
  193. BEGIN_INTERFACE_PART(Dispatch, IDispatch)
  194. STDMETHOD(Invoke)(DISPID dispid, REFIID riid, LCID lcid,
  195. WORD wFlags, DISPPARAMS* pDispParams,
  196.             VARIANT* pvarResult, EXCEPINFO*  pExcepInfo,
  197.             UINT* puArgErr);
  198. STDMETHOD(GetTypeInfoCount)(unsigned int*);
  199. STDMETHOD(GetTypeInfo)(unsigned int, LCID, ITypeInfo**);
  200. STDMETHOD(GetIDsOfNames)(REFIID, LPOLESTR*, unsigned int, LCID, DISPID*);
  201. END_INTERFACE_PART(Dispatch) 
  202. DECLARE_INTERFACE_MAP()
  203. };
  204. #ifndef _DEBUG  // debug version in StylerView.cpp
  205. inline CStylerDoc* CStylerView::GetDocument() const
  206.    { return reinterpret_cast<CStylerDoc*>(m_pDocument); }
  207. #endif
  208. /////////////////////////////////////////////////////////////////////////////
  209. //{{AFX_INSERT_LOCATION}}
  210. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.