resourcesymbolfilebuffer.h

来自「ResOrg 图形化管理Vc项目的资源ID的工具的源代码。 ResOrg - 」· C头文件 代码 · 共 216 行

H
216
字号
/************************************************************************
 *
 *                 Resource ID Organiser Core Library
 *
 * (c) Copyright 2000-2004 by Anna-Jayne Metcalfe (resorg@annasplace.me.uk)
 *                         All rights reserved.
 *
 ************************************************************************
 *                                                                       
 *  Filename    : ResourceSymbolFileBuffer.h
 *
 *  Description : CResourceSymbolFileBuffer - string buffer class for parsing
 *                and writing a resource symbol file
 *                
 *  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/ResourceSymbolFileBuffer.h $
 *   $Revision: 6 $
 *       $Date: 23/08/04 21:38 $
 *     $Author: Anna $
 *
 *    $History: ResourceSymbolFileBuffer.h $
 * 
 * *****************  Version 6  *****************
 * User: Anna         Date: 23/08/04   Time: 21:38
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Added support for the "_APS_NO_MFC" define sometimes found in non-MFC
 * projects
 * 
 * *****************  Version 5  *****************
 * User: Anna         Date: 15/04/03   Time: 20:37
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * 1.  Removed unnecessary file guards (#pragma once works well enough)
 * 2.  Updated file banners
 * 
 * *****************  Version 4  *****************
 * User: Anna         Date: 25/11/02   Time: 15:20
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Changed website address in banner
 * 
 * *****************  Version 3  *****************
 * User: Anna         Date: 22/10/02   Time: 13:24
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Changed name/mail address (at last!)
 * 
 * *****************  Version 2  *****************
 * 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 1  *****************
 * User: Andy         Date: 27/05/02   Time: 13:28
 * Created in $/Projects/AddIns/ResOrg/ResOrgUtils
 * 
 *
 * $Nokeywords: $
 *
 ************************************************************************/

#pragma once


#include "ResourceSymbolList.h"


class CResourceSymbol;



/////////////////////////////////////////////////////////////////////////////
// CResourceSymbolFileBuffer class


#define CResourceSymbolFileBuffer_BASE							CNGTextBuffer

class RESORGCORE_EXT_CLASS	CResourceSymbolFileBuffer : public	CNGTextBuffer
{
public:
			CResourceSymbolFileBuffer(CResourceSymbolList* plistSymbols);

	virtual ~CResourceSymbolFileBuffer(void);


// Attributes
protected:
			CString					m_sResourceFileName;
			BOOL					m_bNoMFC;
			BOOL					m_b3dControls;
			UINT					m_uNextResourceValue;
			UINT					m_uNextControlValue;
			UINT					m_uNextSymedValue;
			UINT					m_uNextCommandValue;

protected:
			// The main list of symbols
			CResourceSymbolList*	m_plistSymbols;
			

// Operators
public:


// Operations
public:
			CString					GetResourceFileName(void) const
										{ return m_sResourceFileName; }

			BOOL					SetResourceFileName(const CString& sFileName)
										{ m_sResourceFileName = sFileName; return TRUE; }

			BOOL					Read(CArchive& ar);

			BOOL					Write(CArchive& ar);


			CResourceSymbol*		Add(		const CString& sSymbolName,
												UINT uSymbolValue);

			BOOL					GetNoMFCValue(void) const
										{ return m_bNoMFC; }

			BOOL					SetNoMFCValue(BOOL bNoMFC);

			BOOL					Get3dControlsValue(void) const
										{ return m_b3dControls; }

			BOOL					Set3dControlsValue(BOOL b3dControls);

			UINT					GetNextResourceValue(void) const
										{ return m_uNextResourceValue; }

			UINT					GetNextCommandValue(void) const
										{ return m_uNextCommandValue; }

			UINT					GetNextControlValue(void) const
										{ return m_uNextControlValue; }

			UINT					GetNextSymedValue(void) const
										{ return m_uNextSymedValue; }

			BOOL					SetNextResourceValue(UINT uValue);

			BOOL					SetNextCommandValue(UINT uValue);

			BOOL					SetNextControlValue(UINT uValue);

			BOOL					SetNextSymedValue(UINT uValue);

			BOOL					Add(	CResourceSymbol* pSymbol);

			BOOL					Remove(CResourceSymbol* pSymbol);

			void					RemoveAll(void);


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

	virtual	BOOL					Parse(const CString& rsLine);


// Implementation
protected:
			// File read implementation
			CString					GetToken(CString& rsLine);

			BOOL					IsComment(const CString& sToken) const;

			BOOL					IsDefine(const CString& sToken) const;

			BOOL					IsInteger(const CString& sToken) const;

			// File write implementation
			void					Add(CString sText);

			void					AddComment(const CString& sComment);

			void					AddNewline(void);

			BOOL					Build(void);

			BOOL					AddSymbols(void);

			CString					FormatHexSymbolDefine(	const CString& sName,
															UINT uValue);

			CString					FormatSymbolDefine(		const CString& sName,
															UINT uValue);
};

⌨️ 快捷键说明

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