⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iecomctrlsink.h

📁 让powerpoint支持插入internet资源
💻 H
字号:

#pragma once
#include <exdisp.h> //For IWebBrowser2* and others
#include <exdispid.h>

#include "Officectrl.h"
// CIEComCtrlSink command target



class CIEComCtrlSink : public CCmdTarget
{
	DECLARE_DYNAMIC(CIEComCtrlSink)

public:

	CIEComCtrlSink();
	virtual ~CIEComCtrlSink();
public:
	// 控制Office相关程序资源的插入的对象
	static COfficeCtrl officeCtrl;	
protected:	

	//欲监听的 IWebBrowser2控件接口指针
	IWebBrowser2*		m_pWebBrowser2;
	// IE 应用程序指针 	
	IWebBrowserApp*		m_pIEApp;
	// IE 应用程序Window窗口句柄 	
	CWnd	m_wndWebBrowser;
	//监听事件的连接点Cookie值,以便建立和取消连接
	DWORD m_dwCookie;	
	// counter to monitor number of requests to BeforeNavigate2 vs number of requests to DownloadBegin.
	// member variables to remember the information we get from BeforeNavigate2 
	// but we don't get from DownloadBegin (Refresh) call.
	CString m_strUrl;	
	CString m_strHeaders;
	CString m_strPostData;


// methods
public:
	BOOL bSinking;//标识是否正在监听一个IE对象。
    //通过调用以下函数,打开一个IE, 开始连接该IE的 DWebBrowserEvents2 事件
	BOOL MyAdviseSink();

protected:


	// 停止监听 DWebBrowserEvents2 事件
	BOOL UnAdviseSink();
	// 装载一个指定的Web页面
	BOOL Navigate2(CString strURL);

	//当监听的IE对象转到一个新的URL之前,调用以下函数 
	afx_msg void BeforeNavigate2(LPDISPATCH pDisp, VARIANT FAR *url, VARIANT FAR *Flags, VARIANT FAR *TargetFrameName, VARIANT FAR *PostData, VARIANT FAR *Headers, VARIANT_BOOL* Cancel);
	//当监听的IE对象"准备就绪"(READYSTATE_COMPLETE)后,调用以下函数 
	afx_msg void DocumentComplete(IDispatch *pDisp,VARIANT *URL);
	//当监听的IE对象开始下载数据之前,调用以下函数 
	afx_msg void DownloadBegin();
	//当监听的IE对象开始下载数据完成后,调用以下函数 
	afx_msg void DownloadEnd();
	// 当IE浏览器退出时取消事件监听
	afx_msg void OnQuit();
protected:
	DECLARE_MESSAGE_MAP()
	DECLARE_DISPATCH_MAP()//声明Dispatch Map表

};


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -