WIZARD.CPP
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:
Windows编程
开发平台:
Visual C++
- //-----------------------------------------------------------------------------
- // Microsoft OLE DB TABLECOPY Sample
- // Copyright (C) 1995-1998 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
- //
- /////////////////////////////////////////////////////////////////
- ULONG CWizard::Display()
- {
- return DisplayStep(WIZ_STEP1);
- }
- ////////////////////////////////////////////////////////////////
- // ULONG CWizard::DisplayStep
- //
- /////////////////////////////////////////////////////////////////
- ULONG 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;
- }