//+--------------------------------------------------------------------------- // // Microsoft Forms // Copyright (C) Microsoft Corporation, 1996. // // File: packager.hxx // // Contents: Save as Office9 'Thicket' format implementation classes. // //---------------------------------------------------------------------------- #ifndef _PACKAGER_HXX_ #define _PACKAGER_HXX_ #define MAX_SAVING_STATUS_TEXT 128 #define MAX_BUFFER_LEN 512 #define REGPATH_MSIE_MAIN TEXT("Software\\Microsoft\\Internet Explorer\\Main") #define REGVALUE_DOWNLOAD_IMAGES "Display Inline Images" #define URL_ABOUT_BLANK TEXT("about:blank") class CWebArchive; class CThicketProgress { public: CThicketProgress( HWND hDlg ); ~CThicketProgress(void); void SetPercent( ULONG ulPct ); void SetSaving( LPCTSTR szFile, LPCTSTR szDst ); void SetSaveText(LPCTSTR szText); protected: HWND m_hDlg; HWND m_hwndProg; TCHAR* m_pszSavingFmt; int m_cchSavingFmt; TCHAR* m_pszPctFmt; ULONG m_ulPct; }; /* * CDocumentPackager - master packager class. */ // Packaging styles. // NOTE: These need to match the order in the format filter string. enum { PACKAGE_THICKET = 1, PACKAGE_MHTML, PACKAGE_HTML, PACKAGE_TEXT }; class CDocumentPackager { public: CDocumentPackager(UINT iPackageStyle) { m_iPackageStyle = iPackageStyle; m_ptp = NULL; } ~CDocumentPackager(void) {} HRESULT PackageDocument(IHTMLDocument2 *pDoc, LPCTSTR lpstrDoc, BOOL *pfCancel, CThicketProgress *ptprog, ULONG progLow, ULONG progHigh, UINT cpDst, CWebArchive *pwa = NULL ); CWebArchive *GetFrameDocArchive( CWebArchive *pwaSrc ); protected: friend class CFramesPackager; UINT m_iPackageStyle; HRESULT _PackageDocument(IHTMLDocument2 *pDoc, LPCTSTR lpstrDoc, BOOL *pfCancel, CThicketProgress *ptprog, ULONG progLow, ULONG progHigh, UINT cpDst, CWebArchive *pwa, CDocumentPackager *pdpFrames, BOOL fFrameDoc); HRESULT _GetDesignDoc( IHTMLDocument2 *pDocSrc, IHTMLDocument2 **ppDocDesign, BOOL *pfCancel, CThicketProgress *ptp, UINT cp ); private: CThicketProgress *m_ptp; }; #endif // _PACKAGER_HXX_