|
|
// Copyright (C) Microsoft Corporation 1996-1997, All Rights reserved.
#if _MSC_VER > 1000
#pragma once
#endif
#ifndef __PRTHOOK_H__
#define __PRTHOOK_H__
class CContainer; // forward reference
class CSiteMap; // forward reference
class IWebBrowserAppImpl; // forward reference
class CHHWinType; // forward reference
class CPrintHook : public IDispatch { public: CPrintHook(PCSTR pszFirstUrl, CToc* pToc, HWND hWndHelp = NULL); ~CPrintHook(); void BeginPrinting(int action); inline BOOL IsPrinting() {return m_fIsPrinting;} inline void IsPrinting(BOOL bNewValue) {m_fIsPrinting = bNewValue;}
STDMETHOD(QueryInterface)( /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject);
STDMETHOD_(ULONG, AddRef)(void);
STDMETHOD_(ULONG, Release)(void);
// IDispatch methods.
STDMETHOD(GetTypeInfoCount)( /* [out] */ UINT *pctinfo);
STDMETHOD(GetTypeInfo)( /* [in] */ UINT iTInfo, /* [in] */ LCID lcid, /* [out] */ ITypeInfo **ppTInfo);
STDMETHOD(GetIDsOfNames)( /* [in] */ REFIID riid, /* [size_is][in] */ LPOLESTR *rgszNames, /* [in] */ UINT cNames, /* [in] */ LCID lcid, /* [size_is][out] */ DISPID *rgDispId);
STDMETHOD(Invoke)( /* [in] */ DISPID dispIdMember, /* [in] */ REFIID riid, /* [in] */ LCID lcid, /* [in] */ WORD wFlags, /* [out][in] */ DISPPARAMS *pDispParams, /* [out] */ VARIANT *pVarResult, /* [out] */ EXCEPINFO *pExcepInfo, /* [out] */ UINT *puArgErr);
protected: BOOL CreatePrintWindow(CStr* pcszUrl = NULL); void DestroyPrintWindow(); BOOL PumpMessages(); BOOL BuildPrintTable(); HRESULT Print(); BOOL ConstructFile(PCSTR pszCurrentUrl, CTable* pFileTable, CStr* pcszPrintFile); BOOL TranslateUrl(PSTR pszFullUrl, PSTR pszRelUrl);
void OnProgressChange(LONG lProgress, LONG lProgressMax);
CToc* m_pToc; CStr m_cszFirstUrl, m_cszPath, m_cszRoot, m_cszPrintFile; CHHWinType* m_phh; LPCONNECTIONPOINT m_pcp; DWORD m_dwCookie; ULONG m_ref; HWND m_hWndHelp; int m_pos, m_action; BOOL m_fIsPrinting, m_fFirstHeading, m_fDestroyHelpWindow, m_fIsIE3; BYTE m_level; TCHAR m_szPrintFile[_MAX_PATH]; HWND m_hwndParent; };
#endif // __PRTHOOK_H__
|