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

📄 createhtmlimage.h

📁 顾名思义
💻 H
字号:
/*
 *	$Header: $
 *
 *	$History: $
 */
#pragma once

#include "stdafx.h"

// CCreateHTMLImage command target
class CCreateHTMLImage : public CWnd
{
protected:
	DECLARE_DYNCREATE(CCreateHTMLImage)
	DECLARE_EVENTSINK_MAP()
	enum eEnums
	{
		CHILDBROWSER = 100,
	};
public:
	enum eOutputImageFormat
	{
		eBMP = 0,
		eJPG,
		eGIF,
		eTIFF,
		ePNG,
		eImgSize
	};

					CCreateHTMLImage();
	virtual			~CCreateHTMLImage();

	BOOL			Create(CWnd *pParent);
	BOOL			SetSaveImageFormat(eOutputImageFormat format);

	BOOL			CreateImage(IHTMLDocument2 *pDoc, LPCTSTR szDestFilename, CSize srcSize, CSize outputSize);
	BOOL			CreateImage(LPCTSTR szSrcFilename, LPCTSTR szDestFilename, CSize srcSize, CSize outputSize);

protected:
	CComPtr<IWebBrowser2> m_pBrowser;
	CWnd			m_pBrowserWnd;

	virtual BOOL	CreateControlSite(COleControlContainer* pContainer, COleControlSite** ppSite, UINT nID, REFCLSID clsid);
	virtual void	DocumentComplete(LPDISPATCH pDisp, VARIANT* URL);
	int				GetEncoderClsid(const WCHAR* format, CLSID* pClsid);

private:
	static LPCTSTR	m_ImageFormats[eImgSize];
	CLSID			m_encoderClsid;
};

class CHTMLImageControlSite : public COleControlSite
{
public:
					CHTMLImageControlSite(COleControlContainer* pCtrlCont);

protected:
// Implementation
	BEGIN_INTERFACE_PART(DocHostUIHandler, IDocHostUIHandler)
		STDMETHOD(ShowContextMenu)(DWORD, LPPOINT, LPUNKNOWN, LPDISPATCH);
		STDMETHOD(GetHostInfo)(DOCHOSTUIINFO*);
		STDMETHOD(ShowUI)(DWORD, LPOLEINPLACEACTIVEOBJECT, LPOLECOMMANDTARGET, LPOLEINPLACEFRAME, LPOLEINPLACEUIWINDOW);
		STDMETHOD(HideUI)(void);
		STDMETHOD(UpdateUI)(void);
		STDMETHOD(EnableModeless)(BOOL);
		STDMETHOD(OnDocWindowActivate)(BOOL);
		STDMETHOD(OnFrameWindowActivate)(BOOL);
		STDMETHOD(ResizeBorder)(LPCRECT, LPOLEINPLACEUIWINDOW, BOOL);
		STDMETHOD(TranslateAccelerator)(LPMSG, const GUID*, DWORD);
		STDMETHOD(GetOptionKeyPath)(OLECHAR **, DWORD);
		STDMETHOD(GetDropTarget)(LPDROPTARGET, LPDROPTARGET*);
		STDMETHOD(GetExternal)(LPDISPATCH*);
		STDMETHOD(TranslateUrl)(DWORD, OLECHAR*, OLECHAR **);
		STDMETHOD(FilterDataObject)(LPDATAOBJECT , LPDATAOBJECT*);
	END_INTERFACE_PART(DocHostUIHandler)

	DECLARE_INTERFACE_MAP()
};

⌨️ 快捷键说明

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