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

📄 resorghtmldoc.cpp

📁 ResOrg 图形化管理Vc项目的资源ID的工具的源代码。 ResOrg - Manage and Renumber Resource Symbol IDs Introduction The
💻 CPP
字号:
/************************************************************************
 *
 *                 Resource ID Organiser Core Library
 *
 * (c) Copyright 2000-2004 by Anna-Jayne Metcalfe (resorg@annasplace.me.uk)
 *                         All rights reserved.
 *
 ************************************************************************
 *                                                                       
 *  Filename    : ResOrgHtmlDoc.cpp
 *
 *  Description : CResOrgHtmlDoc - document class for a hosting
 *                the "ResOrg on the web" HTML view
 *                
 *  Compiler    : Microsoft Visual C++ 6.0, Service Pack 3 or later
 *                Microsoft Visual C++ .NET 2002
 *                                                                       
 *  Target                                                               
 *  Environment : Windows 98/NT/2000/XP
 *
 *  NOTE:
 *
 *    This software is provided "as is" free for personal use. All
 *    title and copyrights in and to the software, including but not
 *    limited to any images, text, etc. incorporated into it, are
 *    owned by Anna-Jayne Metcalfe, except where acknowledged otherwise.
 *
 *    Your may freely to use this code in your own products, PROVIDED
 *    this notice is not removed or modified.
 *
 *
 *    Visit http://www.annasplace.me.uk/resorg for latest updates
 *
 ************************************************************************
 *
 *   MODIFICATION HISTORY:
 *
 *           This is a controlled document. See project configuration
 *           control tool for latest version and full version history.
 *
 *    $Archive: /Projects/AddIns/ResOrg/ResOrgCore/ResOrgHtmlDoc.cpp $
 *   $Revision: 8 $
 *       $Date: 21/08/04 18:59 $
 *     $Author: Anna $
 *
 *    $History: ResOrgHtmlDoc.cpp $
 * 
 * *****************  Version 8  *****************
 * User: Anna         Date: 21/08/04   Time: 18:59
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Modifications to CResOrgHtmlDoc and CResOrgHtmlView for compatibility
 * with dynamic splitter windows
 * 
 * *****************  Version 7  *****************
 * User: Anna         Date: 3/03/03    Time: 23:31
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Added the ability to save HTML Reports
 * 
 * *****************  Version 6  *****************
 * User: Anna         Date: 19/02/03   Time: 19:20
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Started adding XML export and HTML reports
 * 
 * *****************  Version 5  *****************
 * User: Anna         Date: 25/11/02   Time: 15:13
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Changed website address in banner
 * 
 * *****************  Version 4  *****************
 * User: Anna         Date: 22/10/02   Time: 13:24
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Changed name/mail address (at last!)
 * 
 * *****************  Version 3  *****************
 * User: Andy         Date: 7/06/02    Time: 17:04
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Renamed the ResOrgUtils module to ResOrgCore. Updated file banners
 * accordingly
 * 
 * *****************  Version 2  *****************
 * User: Andy         Date: 26/05/01   Time: 15:22
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * Added CResOrgHtmlView to allow the view's ID to be changed (for help
 * support)
 * 
 * *****************  Version 1  *****************
 * User: Andy         Date: 5/12/00    Time: 20:33
 * Created in $/Projects/AddIns/ResOrg/ResOrgUtils
 * 
 *
 * $Nokeywords: $
 *
 ************************************************************************/


#include "StdAfx.h"
#include "ResOrgCore_Priv.h"

#include "ResOrgHtmlDoc.h"



#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


/////////////////////////////////////////////////////////////////////////////
// CResOrgHtmlDoc

IMPLEMENT_DYNCREATE(CResOrgHtmlDoc, CResOrgHtmlDoc_BASE)

BEGIN_MESSAGE_MAP(CResOrgHtmlDoc, CResOrgHtmlDoc_BASE)

	ON_COMMAND(				ID_FILE_SAVE,					OnCmdFileSave)
	ON_UPDATE_COMMAND_UI(	ID_FILE_SAVE,					OnUpdateFileSave)
	ON_COMMAND(				ID_FILE_SAVE,					OnCmdFileSave)
	ON_UPDATE_COMMAND_UI(	ID_FILE_SAVE_AS,				OnUpdateFileSave)

END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CResOrgHtmlDoc construction/destruction

CResOrgHtmlDoc::CResOrgHtmlDoc(void)
{
}


CResOrgHtmlDoc::~CResOrgHtmlDoc(void)
{
}


/////////////////////////////////////////////////////////////////////////////
// CResOrgHtmlDoc overrides

BOOL CResOrgHtmlDoc::OnSaveDocument(LPCTSTR pszPathName)
{
	if (CResOrgHtmlDoc_BASE::OnSaveDocument(pszPathName) )
	{
		ASSERT(m_bUrlIsLocalFile);

		if (m_bUrlIsLocalFile && ::CopyFile(m_sUrl, pszPathName, FALSE) )
		{
			return TRUE;
		}
	}
	return FALSE;
}


/////////////////////////////////////////////////////////////////////////////
// CResOrgHtmlDoc operations

bool CResOrgHtmlDoc::SetUrl(const CString& sUrl)
{
	m_sUrl = sUrl;

	CString sPrefix =::Before(m_sUrl, ::After(m_sUrl, _T("\\") ) );;
	m_bUrlIsLocalFile = ::PathIsRoot( ::Before(m_sUrl, ::After(m_sUrl, _T("\\") ) ) );

	POSITION pos = GetFirstViewPosition();
	while (NULL != pos)
	{
		CView* pView = GetNextView(pos);
		if (NULL != pView)
		{
			pView->OnInitialUpdate();
		}
	}
	return true;
}


/////////////////////////////////////////////////////////////////////////////
// CResOrgHtmlDoc diagnostics

#ifdef _DEBUG
void CResOrgHtmlDoc::AssertValid(void) const
{
	CResOrgHtmlDoc_BASE::AssertValid();
}


void CResOrgHtmlDoc::Dump(CDumpContext& dc) const
{
	CResOrgHtmlDoc_BASE::Dump(dc);
}
#endif //_DEBUG


/////////////////////////////////////////////////////////////////////////////
// CResOrgHtmlDoc commands

void CResOrgHtmlDoc::OnCmdFileSave(void)
{
	CString sInitialFileName;

#if _MSC_VER < 1300		// BXFileDialog doesn't work with VC7 yet
	BXFileDialog dlg(	FALSE,												// Open
						FALSE,												// No preview
						TRUE,												// Resizeable
						CString( (LPCTSTR)IDS_FILE_FILTER_HTML_EXT),		// Default extension
						sInitialFileName,									// Default filename
						OFN_PATHMUSTEXIST | OFN_ENABLESIZING,				// Flags
						CString( (LPCTSTR)IDS_FILE_FILTER_HTML),			// File filter
						::AfxGetMainWnd() );								// Parent window


	DWORD dwVersion		= LOWORD(::GetVersion() );

	DWORD dwMajor		= LOBYTE(dwVersion);
	DWORD dwMinor		= HIBYTE(dwVersion);
	DWORD dwUseableVer	= (dwMajor << 8) + dwMinor;

	if (dwUseableVer >= 0x501)
	{
		// Use the VS.NET visual style on WinXP and later
		dlg.SetAppearance(BXFileDialog::APPEARANCE_VSDOTNET);
	}
#else
	CFileDialog dlg(FALSE,									// Save As
					CString( (LPCTSTR)IDS_FILE_FILTER_HTML_EXT),
															// Default extension
					sInitialFileName,						// Default filename
					OFN_PATHMUSTEXIST | OFN_ENABLESIZING,	// Flags
					CString( (LPCTSTR)IDS_FILE_FILTER_HTML),
															// File filter
					::AfxGetMainWnd() );					// Parent window

#endif

	if (IDOK == dlg.DoModal() )
	{
		// Open and parse it (via the document)
		CString sPathName = dlg.GetPathName();

		if (!DoSave(sPathName, FALSE))
		{
			TRACE0("Warning: File save-as failed.\n");
		}
	}
}


void CResOrgHtmlDoc::OnUpdateFileSave(CCmdUI* pCmdUI)
{
	pCmdUI->Enable(m_bUrlIsLocalFile);
}


/////////////////////////////////////////////////////////////////////////////
/// CResOrgHtmlView

IMPLEMENT_DYNCREATE(CResOrgHtmlView, CHtmlView)

 BEGIN_MESSAGE_MAP(CResOrgHtmlView, CHtmlView)

	ON_MESSAGE(						WM_HELPHITTEST,				OnHelpHitTest)

END_MESSAGE_MAP()



void CResOrgHtmlView::OnInitialUpdate(void)
{
	CResOrgHtmlDoc* pDoc = static_cast<CResOrgHtmlDoc*>( GetDocument() );
	if (NULL != pDoc)
	{
		CString sUrl = pDoc->GetUrl();

		Navigate2(sUrl, 0);
	}
}


LRESULT CResOrgHtmlView::OnHelpHitTest(WPARAM, LPARAM)
{
	return IDR_DISPLAY_WEB + HID_BASE_RESOURCE;
}

⌨️ 快捷键说明

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