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

📄 resourcesymbol.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    : ResourceSymbol.h
 *
 *  Description : CResourceSymbol - class to represent a single resource symbol
 *                
 *  Compiler    : Microsoft Visual C++ 6.0, Service Pack 3 or later
 *                Microsoft Visual C++ .NET 2003
 *                                                                       
 *  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/ResourceSymbol.h $
 *   $Revision: 17 $
 *       $Date: 11/07/04 16:06 $
 *     $Author: Anna $
 *
 *    $History: ResourceSymbol.h $
 * 
 * *****************  Version 17  *****************
 * User: Anna         Date: 11/07/04   Time: 16:06
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Improved code documentation
 * 
 * *****************  Version 16  *****************
 * User: Anna         Date: 15/04/03   Time: 20:35
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Updated file banners
 * 
 * *****************  Version 15  *****************
 * User: Anna         Date: 3/03/03    Time: 20:10
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Moved XML code to its own class (CResOrgXmlWriter)
 * 
 * *****************  Version 14  *****************
 * User: Anna         Date: 19/02/03   Time: 19:20
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Started adding XML export and HTML reports
 * 
 * *****************  Version 13  *****************
 * User: Anna         Date: 15/02/03   Time: 20:52
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Changed big BOOLs into little bools
 * 
 * *****************  Version 12  *****************
 * 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 11  *****************
 * User: Anna         Date: 3/12/02    Time: 20:18
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Added CResourceSymbol::m_nUserData
 * 
 * *****************  Version 10  *****************
 * User: Anna         Date: 25/11/02   Time: 15:20
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Changed website address in banner
 * 
 * *****************  Version 9  *****************
 * User: Anna         Date: 22/10/02   Time: 13:24
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Changed name/mail address (at last!)
 * 
 * *****************  Version 8  *****************
 * 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 7  *****************
 * User: Andy         Date: 27/05/02   Time: 17:10
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * Revised the way conflicts are stored to remove a two-way code
 * dependency which caused big problems in Visual C++ 7.0
 * 
 * *****************  Version 6  *****************
 * User: Andy         Date: 12/27/01   Time: 10:48p
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * Added "Original Value" attribute
 * 
 * *****************  Version 5  *****************
 * User: Andy         Date: 22/06/01   Time: 9:52
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * Made class declaration "Rose friendly"
 * 
 * *****************  Version 4  *****************
 * User: Andy         Date: 2/04/01    Time: 17:03
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * The default constructor now has optional parameters for the Name, Value
 * and Read-Only status of the symbol
 * 
 ******************  Version 3  *****************
 * User: Andy            Date: 27/03/01  Time:  15:37
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * Added CResourceSymbol::IsValidName()
 *
 *****************  Version 2  *****************
 * User: Andy            Date: 17/02/01  Time:   6:49
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * 1.  Moved resource type identification to a separate class
 * 2.  Added SetReadOnly(), IsReadOnly() and GetConflicts()
 *
 ******************  Version 1  *****************
 * User: Andy            Date: 12/11/00  Time:  21:36
 * Created in $/Projects/AddIns/ResOrg/ResOrgUtils
 *
 * $Nokeywords: $
 *
 ************************************************************************/

#pragma once


class CResourceSymbol;

typedef CTypedPtrList<CObList, CResourceSymbol*> CSymbolConflictList;


// View hints
// (not the idea place to put them, but a convenient one)
enum
{
	SYM_REFRESH = 0,
	SYM_ADDED,
	SYM_CHANGED,
	SYM_DELETED
};


#import "msxml4.dll"

/////////////////////////////////////////////////////////////////////////////
// CResourceSymbol class

#define CResourceSymbol_BASE							CObject

class RESORGCORE_EXT_CLASS	CResourceSymbol : public	CObject
{
			DECLARE_DYNCREATE(CResourceSymbol)

			CResourceSymbol(const CString& sName = _T(""),
							UINT uValue = 0,
							bool bReadOnly = false);

	virtual ~CResourceSymbol(void);


// Data members
protected:
			CString					m_sName;			///< The name of the symbol
			UINT					m_uValue;			///< The current value of the symbol
			UINT					m_uOriginalValue;	///< The original value of the symbol (if modified)
			CString					m_sFileName;		///< The pathname of the file containing the symbol
			int						m_nLineNo;			///< Reserved for future expansion
			bool					m_bModified;		///< TRUE if the symbol has been modifed, FALSE otherwise
			bool					m_bReadOnly;		///< TRUE if the symbol is read-only
			INT_PTR					m_nUserData;		///< User defined value...actually a pointer to the
														///  containing CResourceSymbolManager object
			CSymbolConflictList		m_listConflicts;	///< A list of symbols conflicting in name or value with this one.
														///  Used by CResourceSymbolNamesMap, CResourceSymbolValuesMap and
														///  CResourceSymbolManager


// Operations
public:
			CString					GetName(void) const;
	
			bool					SetName(const CString& sName);

	static	bool					IsValidName(const CString& sName);

			int						GetType(void) const;

			CString					GetTypeName(void) const;

			UINT					GetValue(void) const;

			bool					SetValue(UINT uValue);

			UINT					GetOriginalValue(void) const;

			bool					IsReadOnly(void) const;

			bool					SetReadOnly(bool bReadOnly = true);

			bool					IsModified(void) const;

			bool					SetModifiedFlag(bool bModified = true);
	
			INT_PTR					GetUserData(void) const;

			bool					SetUserData(INT_PTR nUserData);

			CString					GetFileName(void) const;

			bool					SetFileName(const CString& sFileName);

			bool					SetLineNo(int nLineNo);

			CSymbolConflictList&	GetConflicts(void);

			bool					HasConflicts(void) const;

			bool					AddConflict(CResourceSymbol* pSymbol);

			bool					RemoveConflict(CResourceSymbol* pSymbol);
	

// Virtual Overrides
public:


// Implementation
protected:
};

⌨️ 快捷键说明

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