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

📄 resourcesymbolfilepropertysheet.cpp

📁 ResOrg 图形化管理Vc项目的资源ID的工具的源代码。 ResOrg - Manage and Renumber Resource Symbol IDs Introduction The
💻 CPP
字号:
/************************************************************************
 *
 *                 Resource ID Organiser Core Library
 *
 * (c) Copyright 2000-2003 by Anna-Jayne Metcalfe (resorg@annasplace.me.uk)
 *                         All rights reserved.
 *
 ************************************************************************
 *                                                                       
 *  Filename    : ResourceSymbolFilePropertySheet.cpp
 *
 *  Description : CResourceSymbolFilePropertySheet - property sheet class
 *                
 *  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/ResourceSymbolFilePropertySheet.cpp $
 *   $Revision: 14 $
 *       $Date: 1/07/03 21:02 $
 *     $Author: Anna $
 *
 *    $History: ResourceSymbolFilePropertySheet.cpp $
 * 
 * *****************  Version 14  *****************
 * User: Anna         Date: 1/07/03    Time: 21:02
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Fixed selection bugs with multi-file symbols displays
 * 
 * *****************  Version 13  *****************
 * User: Anna         Date: 26/06/03   Time: 20:21
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Fixed a nasty bug in
 * CResourceSymbolFilePropertySheet::OnMsgSelectedFilesChanged()
 * 
 * *****************  Version 12  *****************
 * User: Anna         Date: 24/06/03   Time: 14:27
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Added resizing capability
 * 
 * *****************  Version 11  *****************
 * User: Anna         Date: 15/04/03   Time: 20:50
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * 1.  Removed unnecessary file guards (#pragma once works well enough)
 * 2.  Added "Base Values" page
 * 
 * *****************  Version 10  *****************
 * User: Anna         Date: 15/02/03   Time: 21:19
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Multiple selections can now be made on the "Files" page...when this is
 * so the other tabs disappear as they don't apply
 * 
 * *****************  Version 9  *****************
 * 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 8  *****************
 * User: Anna         Date: 19/01/03   Time: 17:22
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Modifications for compatibility with multi-file symbol editing
 * 
 * *****************  Version 7  *****************
 * 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 6  *****************
 * User: Anna         Date: 25/11/02   Time: 15:19
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Changed website address in banner
 * 
 * *****************  Version 5  *****************
 * User: Anna         Date: 22/10/02   Time: 13:24
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Changed name/mail address (at last!)
 * 
 * *****************  Version 4  *****************
 * 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 3  *****************
 * User: Andy         Date: 27/05/02   Time: 14:01
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * Knock on changes from CResourceSymbolBuffer (now
 * CResourceSymbolManager)
 * 
 * *****************  Version 2  *****************
 * User: Andy         Date: 10/03/01   Time: 12:50p
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * Replaced the "Summary" page with "General" and "Statistics" pages
 * 
 * *****************  Version 1  *****************
 * User: Andy         Date: 15/08/01   Time: 9:45
 * Created in $/Projects/AddIns/ResOrg/ResOrgUtils
 * 
 * *****************  Version 2  *****************
 * User: Andy         Date: 2/04/01    Time: 17:31
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * 1.  Improved external interface
 * 2.  Implemented "Conflicts" page
 * 
 * *****************  Version 1  *****************
 * User: Andy         Date: 27/03/01   Time: 15:17
 * Created in $/Projects/AddIns/ResOrg/ResOrgUtils
 * 
 * $Nokeywords: $
 *
 ************************************************************************/


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

#include "ResourceSymbolManagerMultiFile.h"

#include "ResourceSymbolFilePropertySheet.h"



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



/////////////////////////////////////////////////////////////////////////////
// CResourceSymbolFilePropertySheet class

IMPLEMENT_DYNAMIC(CResourceSymbolFilePropertySheet, CResourceSymbolFilePropertySheet_BASE)


// Registered message definitions
const UINT WM_SEL_FILES_CHANGED	= ::RegisterWindowMessage( _T("SelectedFilesChanged") );



BEGIN_MESSAGE_MAP(CResourceSymbolFilePropertySheet, CResourceSymbolFilePropertySheet_BASE)
	//{{AFX_MSG_MAP(CResourceSymbolFilePropertySheet)
	ON_REGISTERED_MESSAGE(	WM_SEL_FILES_CHANGED,		OnMsgSelectedFilesChanged)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CResourceSymbolFilePropertySheet construction/destruction

CResourceSymbolFilePropertySheet::CResourceSymbolFilePropertySheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
	:CResourceSymbolFilePropertySheet_BASE(nIDCaption, pParentWnd, iSelectPage)
{
	m_pSymbols			= NULL;
}


CResourceSymbolFilePropertySheet::CResourceSymbolFilePropertySheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
	:CResourceSymbolFilePropertySheet_BASE(pszCaption, pParentWnd, iSelectPage)
{
	m_pSymbols			= NULL;
}


CResourceSymbolFilePropertySheet::~CResourceSymbolFilePropertySheet(void)
{
}


/////////////////////////////////////////////////////////////////////////////
// CResourceSymbolFilePropertySheet virtual overrides

BOOL CResourceSymbolFilePropertySheet::OnInitDialog(void)
{
	BOOL bResult = CResourceSymbolFilePropertySheet_BASE::OnInitDialog();

	ASSERT(m_pSymbols != NULL);		// Must be set first

	m_Resizer.PropertySheetPrepare(this);
	m_Resizer.Create(this);
	
	if (IsWizard() )
	{
		m_Resizer.WizardAddEtchedBar(this, 0, 100, 100, 0);
	}
	m_Resizer.PropertySheetAddButtons(this, 100, 100, 0, 0);
	m_Resizer.PropertySheetAddPages(this,  0,  0, 100, 100 );
	m_Resizer.SetMinimumTrackingSize();

	if (IsWizard() )
	{
		m_Resizer.WizardSaveMargins(this);
	}
	m_Resizer.SetGripEnabled(TRUE);

	return bResult;
}


/////////////////////////////////////////////////////////////////////////////
// CResourceSymbolFilePropertySheet operations

bool CResourceSymbolFilePropertySheet::Initialise(	CResourceSymbolManager* pSymbols,
													CDocument* pDoc)
{
	m_pSymbols	= pSymbols;
	ASSERT(NULL != m_pSymbols);

	if (NULL != m_pSymbols)
	{
		AddPages();

		for (int n = 0; n < GetPageCount(); n++)
		{
			CResourceSymbolFilePropertyPage* pPage = DYNAMIC_DOWNCAST(	CResourceSymbolFilePropertyPage,
																		GetPage(n) );
			if (NULL != pPage)
			{
				// Configure the pages. Note that if m_pSymbols is
				// a multi-file symbol manager, the first page will
				// reconfigure the rest
				pPage->SetSymbolManager(m_pSymbols);
				pPage->SetDocument(pDoc);
			}
		}
	}
	return (NULL != m_pSymbols);
}


/////////////////////////////////////////////////////////////////////////////
// CResourceSymbolFilePropertySheet implementation

bool CResourceSymbolFilePropertySheet::AddPages(void)
{
	ASSERT(NULL != m_pSymbols);
	if (NULL != m_pSymbols)
	{
		//m_psh.dwFlags |= PSH_NOAPPLYNOW;		// Remove the "Apply" button

		if (m_pSymbols->IsKindOf(RUNTIME_CLASS(CResourceSymbolManagerMultiFile) ) )
		{
			AddPage(&m_FilesPage);
		}
		AddPage(&m_GeneralPage);
		AddPage(&m_StatisticsPage);
		AddPage(&m_BaseValuesPage);
		AddPage(&m_NextValuesPage);

		return true;
	}
	return false;
}

/////////////////////////////////////////////////////////////////////////////
// CResourceSymbolFilePropertySheet message handlers

/// Handler for WM_SEL_FILES_CHANGED registered message.
/// Called when the available files are changed in the "Files" page
///
/// \param wParam The number of selected files
/// \param lParam A pointer to a CSymbolManagerPtrArray object
/// \return Always TRUE
///
LRESULT CResourceSymbolFilePropertySheet::OnMsgSelectedFilesChanged(WPARAM wParam, LPARAM lParam)
{
	UNREFERENCED_PARAMETER(wParam);
	UNREFERENCED_PARAMETER(lParam);

	//int nSelFiles						= (int)wParam;
	//CSymbolManagerPtrArray* pFiles 	= reinterpret_cast<CSymbolManagerPtrArray*>(lParam);

	return (LRESULT)TRUE;
}

⌨️ 快捷键说明

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