2025-11-28 00:35:46 +09:00

129 lines
3.2 KiB
C++

//-----------------------------------------------------------------------------
// Microsoft OLE DB TABLECOPY Sample
// Copyright (C) 1991-2000 Microsoft Corporation
//
// @doc
//
// @module WIZARD.CPP
//
//-----------------------------------------------------------------------------
/////////////////////////////////////////////////////////////////
// Includes
//
/////////////////////////////////////////////////////////////////
#include "common.h"
#include "tablecopy.h"
#include "wizard.h"
#include "progress.h"
/////////////////////////////////////////////////////////////////////
// CDialogBase::CDialogBase
//
/////////////////////////////////////////////////////////////////////
CDialogBase::CDialogBase(HWND hWnd, HINSTANCE hInst)
{
ASSERT(hInst);
m_hWnd = hWnd;
m_hInst = hInst;
}
/////////////////////////////////////////////////////////////////////
// CDialogBase::~CDialogBase
//
/////////////////////////////////////////////////////////////////////
CDialogBase::~CDialogBase()
{
Destroy();
}
/////////////////////////////////////////////////////////////////////
// ULONG CDialogBase::Destroy
//
/////////////////////////////////////////////////////////////////////
ULONG CDialogBase::Destroy()
{
if(m_hWnd)
{
EndDialog(m_hWnd, 0);
m_hWnd = NULL;
}
return 0;
}
////////////////////////////////////////////////////////////////
// CWizard::CWizard
//
/////////////////////////////////////////////////////////////////
CWizard::CWizard(HWND hWnd, HINSTANCE hInst)
: CDialogBase(hWnd, hInst)
{
m_pCTableCopy = new CTableCopy(this);
m_pCProgress = new CProgress(hWnd, hInst);
m_iPrevStep = WIZ_STEP1;
m_rgDialogSteps[WIZ_STEP1] = new CS1Dialog(hWnd, hInst, m_pCTableCopy);
m_rgDialogSteps[WIZ_STEP2] = new CS2Dialog(hWnd, hInst, m_pCTableCopy);
m_rgDialogSteps[WIZ_STEP3] = new CS3Dialog(hWnd, hInst, m_pCTableCopy);
m_rgDialogSteps[WIZ_STEP4] = new CS4Dialog(hWnd, hInst, m_pCTableCopy);
m_rgDialogSteps[WIZ_TYPES] = new CTypesDialog(hWnd, hInst, m_pCTableCopy);
}
////////////////////////////////////////////////////////////////
// CWizard::~CWizard
//
/////////////////////////////////////////////////////////////////
CWizard::~CWizard()
{
delete m_pCTableCopy;
delete m_pCProgress;
delete m_rgDialogSteps[WIZ_STEP1];
delete m_rgDialogSteps[WIZ_STEP2];
delete m_rgDialogSteps[WIZ_STEP3];
delete m_rgDialogSteps[WIZ_STEP4];
delete m_rgDialogSteps[WIZ_TYPES];
}
////////////////////////////////////////////////////////////////
// CWizard::Display
//
/////////////////////////////////////////////////////////////////
INT_PTR CWizard::Display()
{
return DisplayStep(WIZ_STEP1);
}
////////////////////////////////////////////////////////////////
// ULONG CWizard::DisplayStep
//
/////////////////////////////////////////////////////////////////
INT_PTR CWizard::DisplayStep(ULONG iStep)
{
ASSERT(iStep >= WIZ_STEP1 && iStep < END_WIZ);
return m_rgDialogSteps[iStep]->Display();
}
////////////////////////////////////////////////////////////////
// ULONG CWizard::DestroyPrevStep
//
/////////////////////////////////////////////////////////////////
ULONG CWizard::DestroyPrevStep(ULONG iCurStep)
{
if(iCurStep != m_iPrevStep)
m_rgDialogSteps[m_iPrevStep]->Destroy();
m_iPrevStep = iCurStep;
return 0;
}