📄 resourcesymbolfilepropertysheet.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 + -