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

📄 resourcesymbolmanagermultifile.h

📁 ResOrg 图形化管理Vc项目的资源ID的工具的源代码。 ResOrg - Manage and Renumber Resource Symbol IDs Introduction The
💻 H
字号:
/************************************************************************
 *
 *                 Resource ID Organiser Core Library
 *
 * (c) Copyright 2000-2004 by Anna-Jayne Metcalfe (resorg@annasplace.me.uk)
 *                         All rights reserved.
 *
 ************************************************************************
 *                                                                       
 *  Filename    : ResourceSymbolManagerMultiFile.h
 *
 *  Description : CResourceSymbolManagerMultiFile - class to manage conflicts between
 *                resource symbol files
 *                
 *  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/ResourceSymbolManagerMultiFile.h $
 *   $Revision: 12 $
 *       $Date: 11/07/04 16:15 $
 *     $Author: Anna $
 *
 *    $History: ResourceSymbolManagerMultiFile.h $
 * 
 * *****************  Version 12  *****************
 * User: Anna         Date: 11/07/04   Time: 16:15
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Added support for detection of out of range symbols
 * 
 * *****************  Version 11  *****************
 * User: Anna         Date: 20/04/03   Time: 15:34
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Added overrides of CResourceSymbolManager::AreNextSymbolValuesInUse()
 * and FixNextSymbolValues()
 * 
 * *****************  Version 10  *****************
 * User: Anna         Date: 15/04/03   Time: 20:33
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Removed unnecessary file guards (#pragma once works well enough)
 * 
 * *****************  Version 9  *****************
 * User: Anna         Date: 3/03/03    Time: 20:10
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Moved XML code to its own class (CResOrgXmlWriter)
 * 
 * *****************  Version 8  *****************
 * User: Anna         Date: 25/02/03   Time: 21:25
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Added CResourceSymbolManagerMultiFile::SaveXml() override
 * 
 * *****************  Version 7  *****************
 * User: Anna         Date: 15/02/03   Time: 20:50
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Changed big BOOLs into little bools
 * 
 * *****************  Version 6  *****************
 * User: Anna         Date: 30/01/03   Time: 19:38
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Fixed a VC.NET compiler warning
 * 
 * *****************  Version 5  *****************
 * User: Anna         Date: 28/01/03   Time: 21:19
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Improved multi-file support by allowing files to be Added/Removed from
 * a multi-file display via the File Properties Dialog
 * 
 * *****************  Version 4  *****************
 * User: Anna         Date: 3/01/03    Time: 15:51
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Added a "Files" tab to the Symbol File Properties dialog. Not fully
 * functional yet
 * 
 * *****************  Version 3  *****************
 * User: Anna         Date: 3/01/03    Time: 7:36
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Added runtime class info support to CResourceSymbolManagerMultiFile
 * 
 * *****************  Version 2  *****************
 * User: Anna         Date: 3/01/03    Time: 0:09
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Speeded up multi-file loading slightly
 * 
 * *****************  Version 1  *****************
 * User: Anna         Date: 2/01/03    Time: 0:03
 * Created in $/Projects/AddIns/ResOrg/ResOrgCore
 * 
 * $Nokeywords: $
 *
 ************************************************************************/

#pragma once


#include "ResourceSymbolList.h"
#include "ResourceSymbolManager.h"



#define	CResourceSymbolManagerMultiFile_BASE	CResourceSymbolManager
	
class CResourceSymbolManagerMultiFile : public	CResourceSymbolManager
{
			DECLARE_DYNAMIC(CResourceSymbolManagerMultiFile)

// Construction/destruction
public:
			CResourceSymbolManagerMultiFile(void);

	virtual ~CResourceSymbolManagerMultiFile(void);



// Data Members
protected:
			CSymbolManagerPtrArray	m_arrayMngrs;


// Operations
public:
			int						GetSymbolFileCount(void) const
										{ return (int)m_arrayMngrs.GetSize(); }

			CSymbolManagerPtrArray&	GetSymbolFiles(void)
										{ return m_arrayMngrs; }

			bool					IsSymbolFileLoaded(const CString& sPathName) const;

			CResourceSymbolManager*	AddSymbolFile(	const CString& sPathName,
													bool bUpdateMetrics = true);
			
			bool					RemoveSymbolFile(const CString& sPathName,
													bool bUpdateMetrics = true);

			int						AddSymbols(		CResourceSymbolManager* pMngr,
													bool bUpdateMetrics = true);

			int						GetSymbolFilePathNames(CStringArray& rarrayPathNames) const;

			CResourceSymbolManager*	GetSymbolManager(const CString& sPathName) const;

			int						GetTotalConflictCount(CResourceSymbolManager* pMngr) const;

			int						GetSymbols(		const CSymbolManagerPtrArray& arraySymbolMngrs,
													UINT uValue,
													CResourceSymbolList& rlistSymbols) const;

			int						GetSymbols(		const CSymbolManagerPtrArray& arraySymbolMngrs,
													const CString& sName,
													CResourceSymbolList& rlistSymbols) const;


// Virtual Overrides
public:
	virtual	void					Serialize(		CArchive& ar);

	virtual	bool					Set(			CResourceSymbol* pSymbol,
													const CString& sName,
													UINT uValue,
													bool bReadOnly = false);

	virtual	void					RemoveAll(void);

	virtual	bool					AreNextSymbolValuesInUse(void) const;

	virtual	bool					FixNextSymbolValues(void);

	virtual	bool					IsOutOfRange(CResourceSymbol* pSymbol) const;


// Implementation
protected:
			int						GetSymbolFileIndex(const CString& sPathName) const;

			bool					StartFileChangeMonitor(const CString& sPathName);

			bool					StopFileChangeMonitor(void);

};

⌨️ 快捷键说明

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