📄 renumwizard.cpp
字号:
/************************************************************************
*
* Resource ID Organiser Core Library
*
* (c) Copyright 2000-2003 by Anna-Jayne Metcalfe (resorg@annasplace.me.uk)
* All rights reserved.
*
************************************************************************
*
* Filename : RenumWizard.cpp
*
* Description : CRenumWizard - the Symbol Renumbering Wizard
*
* 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/RenumWizard.cpp $
* $Revision: 11 $
* $Date: 15/04/03 20:38 $
* $Author: Anna $
*
* $History: RenumWizard.cpp $
*
* ***************** Version 11 *****************
* User: Anna Date: 15/04/03 Time: 20:38
* Updated in $/Projects/AddIns/ResOrg/ResOrgCore
* 1. Removed unnecessary file guards (#pragma once works well enough)
* 2. Updated file banners
*
* ***************** Version 10 *****************
* User: Anna Date: 25/11/02 Time: 15:10
* 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: 13:34
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Knock on changes from CResourceSymbolBuffer (now
* CResourceSymbolManager)
*
* ***************** Version 6 *****************
* User: Andy Date: 12/28/01 Time: 12:51a
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Integrated a new "this is what the new values will be" page
*
* ***************** Version 5 *****************
* User: Andy Date: 11/10/01 Time: 12:15p
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Removed the 16 colour bitmaps (who has 16 colour displays these days?)
*
* ***************** Version 4 *****************
* User: Andy Date: 4/05/01 Time: 22:37
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Implemented resizing
*
* ***************** Version 3 *****************
* User: Andy Date: 21/04/01 Time: 7:22
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* 1. Integrated CRenumWizEngine
* 2. Integrated "Options" and "Symbol Selection" pages
*
* ***************** Version 2 *****************
* User: Andy Date: 29/11/00 Time: 18:37
* Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
* Added file banners
*
* $Nokeywords: $
*
************************************************************************/
#include "stdafx.h"
#include <AfxPriv.h>
#include "ResOrgCore_Priv.h"
#include "RenumWizIntroPage.h"
#include "RenumWizWafflePage.h"
#include "RenumWizOptionsPage.h"
#include "RenumWizSelectSymbolsPage.h"
#include "RenumWizBaseValuesPage.h"
#include "RenumWizNewSymbolValuesPage.h"
#include "RenumWizCompletionPage.h"
#include "RenumWizard.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRenumWizard
IMPLEMENT_DYNAMIC(CRenumWizard, CRenumWizard_BASE)
CRenumWizard::CRenumWizard(UINT nIDCaption /* = 0*/,
CWnd* pParentWnd /*= NULL*/,
UINT nPage /* = 0*/)
:CRenumWizard_BASE(nIDCaption > 0 ? nIDCaption : IDS_RENUMWIZ, pParentWnd, nPage)
{
}
CRenumWizard::CRenumWizard( LPCTSTR pszCaption,
CWnd* pParentWnd /*= NULL*/,
UINT nPage /* = 0*/)
:CRenumWizard_BASE(pszCaption, pParentWnd, nPage)
{
}
CRenumWizard::~CRenumWizard(void)
{
// Delete all the pages before we leave...
int nPages = GetPageCount();
ASSERT(nPages > 0);
for (int n = nPages - 1; n >= 0; n--)
{
CPropertyPage* pPage = GetPage(n);
ASSERT(NULL != pPage);
RemovePage(n);
delete pPage;
}
}
BEGIN_MESSAGE_MAP(CRenumWizard, CRenumWizard_BASE)
//{{AFX_MSG_MAP(CRenumWizard)
ON_MESSAGE( WM_KICKIDLE, OnKickIdle)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Virtual Overrides
void CRenumWizard::Initialise(CResourceSymbolManager* pSymbols)
{
m_bResizeable = TRUE;
m_Engine.Initialise(pSymbols);
// Add all of the wizard pages here. Note that the order in which they
// appear will change depending on the options selected. By default, the
// first page of the set is the active one.
// First check for repeat initialisation
if (GetPageCount() == 0)
{
// Set the Watermark and Header bitmaps.
// NOTE: Requires common controls DLL v5.8 or later (supplied with IE 5)
DoWizard97Init();
AddPage(new CRenumWizIntroPage); // Introductory page
AddPage(new CRenumWizWafflePage); // General waffle
AddPage(new CRenumWizOptionsPage); // Options
AddPage(new CRenumWizSelectSymbolsPage); // Select Symbols
AddPage(new CRenumWizBaseValuesPage); // Base values
AddPage(new CRenumWizNewSymbolValuesPage); // New values
AddPage(new CRenumWizCompletionPage); // Completion page - does the real work
}
}
BOOL CRenumWizard::OnInitDialog(void)
{
BOOL bResult = CRenumWizard_BASE::OnInitDialog();
return bResult;
}
void CRenumWizard::OnSetActive(CPropertyPage* pPage)
{
ASSERT_VALID(this);
UNREFERENCED_PARAMETER(pPage);
}
// Handle WM_KICKIDLE to allow child pages to catch the message
// This allows us to embed frame windows with views and toolbars
// within the wizard pages
LRESULT CRenumWizard::OnKickIdle(WPARAM, LPARAM)
{
SendMessageToDescendants(WM_KICKIDLE, 0, 0L, FALSE, FALSE);
// Do the default thing
Default();
return 0L;
}
void CRenumWizard::OnKillActive(CPropertyPage* pPage)
{
ASSERT_VALID(this);
UNREFERENCED_PARAMETER(pPage);
}
/////////////////////////////////////////////////////////////////////////////
// Operations
void CRenumWizard::AddPage(CRenumWizardPage* pPage)
{
pPage->Initialise(&m_Engine);
CRenumWizard_BASE::AddPage(pPage);
}
/////////////////////////////////////////////////////////////////////////////
// Message Handlers
/////////////////////////////////////////////////////////////////////////////
// Implementation
void CRenumWizard::DoWizard97Init(void)
{
// Set the Watermark and Header bitmaps.
// NOTE: Requires common controls DLL v5.8 or later (supplied with IE 5)
SetWatermark(IDB_WIZ_WATERMARK);
SetHeader(IDB_WIZ_HEADER);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -