243 lines
5.3 KiB
C++
243 lines
5.3 KiB
C++
//-----------------------------------------------------------------------------
|
|
// Microsoft OLE DB TABLECOPY Sample
|
|
// Copyright (C) 1991-2000 Microsoft Corporation
|
|
//
|
|
// @doc
|
|
//
|
|
// @module WIZARD.H
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#ifndef _WIZARD_H_
|
|
#define _WIZARD_H_
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// Includes
|
|
//
|
|
/////////////////////////////////////////////////////////////////////
|
|
#include "winmain.h"
|
|
#include "Table.h"
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
// Defines
|
|
//
|
|
/////////////////////////////////////////////////////////////////
|
|
enum WIZ_STEP
|
|
{
|
|
WIZ_STEP1 = 0,
|
|
WIZ_STEP2 = 1,
|
|
WIZ_STEP3 = 2,
|
|
WIZ_STEP4 = 3,
|
|
WIZ_TYPES = 4,
|
|
END_WIZ = 5
|
|
};
|
|
|
|
struct TREEINFO
|
|
{
|
|
ULONG ulIndex;
|
|
HTREEITEM hParent;
|
|
HTREEITEM hItem;
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
// Forward Declarations
|
|
//
|
|
/////////////////////////////////////////////////////////////////
|
|
class CTableCopy;
|
|
class CDataSource;
|
|
class CProgress;
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// CDialogBase
|
|
//
|
|
/////////////////////////////////////////////////////////////////////
|
|
class CDialogBase
|
|
{
|
|
public:
|
|
//constructors
|
|
CDialogBase(HWND hWnd, HINSTANCE hInst);
|
|
virtual ~CDialogBase();
|
|
|
|
//members
|
|
virtual INT_PTR Display() = 0;
|
|
virtual ULONG Destroy();
|
|
|
|
//Data
|
|
HWND m_hWnd;
|
|
HINSTANCE m_hInst;
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// CS1Dialog
|
|
//
|
|
/////////////////////////////////////////////////////////////////////
|
|
class CS1Dialog : public CDialogBase
|
|
{
|
|
public:
|
|
//constructors
|
|
CS1Dialog(HWND hWnd, HINSTANCE hInst, CTableCopy* pTableCopy);
|
|
virtual ~CS1Dialog();
|
|
|
|
//abstract members
|
|
static BOOL WINAPI DlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
virtual INT_PTR Display();
|
|
|
|
//members
|
|
virtual BOOL InitControls();
|
|
virtual BOOL RefreshControls();
|
|
|
|
virtual BOOL ResetTableList(HWND hWndTable, HWND hWndCol);
|
|
virtual BOOL ChangeTableName(LONG iIndex);
|
|
|
|
virtual BOOL ResetColInfo(HWND hWndCol);
|
|
virtual BOOL GetTableColInfo(HWND hWndCol);
|
|
virtual BOOL CreateTableNode(TREEINFO* rgTreeInfo, ULONG ulNameOffset, LONG iParam = 0, LONG iImage = 0, LONG iSelectedImage = 0);
|
|
|
|
//Data
|
|
CTableCopy* m_pCTableCopy;
|
|
BOOL m_fEditing;
|
|
|
|
ULONG m_cTables;
|
|
TABLEINFO* m_rgTableInfo;
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// CS2Dialog
|
|
//
|
|
/////////////////////////////////////////////////////////////////////
|
|
class CS2Dialog : public CDialogBase
|
|
{
|
|
public:
|
|
//constructors
|
|
CS2Dialog(HWND hWnd, HINSTANCE hInst, CTableCopy* pTableCopy);
|
|
virtual ~CS2Dialog();
|
|
|
|
//abstract members
|
|
static BOOL WINAPI DlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
virtual INT_PTR Display();
|
|
|
|
//members
|
|
virtual BOOL InitControls();
|
|
virtual BOOL RefreshControls();
|
|
|
|
virtual BOOL GetPrimaryKeys();
|
|
|
|
virtual BOOL ResetIndexList(HWND hWnd);
|
|
virtual BOOL RecordSelectedIndexes(HWND hWnd);
|
|
|
|
//Data
|
|
CTableCopy* m_pCTableCopy;
|
|
};
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// CS3Dialog
|
|
//
|
|
/////////////////////////////////////////////////////////////////////
|
|
class CS3Dialog : public CDialogBase
|
|
{
|
|
public:
|
|
//constructors
|
|
CS3Dialog(HWND hWnd, HINSTANCE hInst, CTableCopy* pTableCopy);
|
|
virtual ~CS3Dialog();
|
|
|
|
//abstract members
|
|
static BOOL WINAPI DlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
virtual INT_PTR Display();
|
|
|
|
//members
|
|
virtual BOOL InitControls();
|
|
virtual BOOL RefreshControls();
|
|
|
|
virtual BOOL Connect(CDataSource* pCDataSource = NULL);
|
|
virtual BOOL EnableTable();
|
|
|
|
//Data
|
|
CTableCopy* m_pCTableCopy;
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// CS4Dialog
|
|
//
|
|
/////////////////////////////////////////////////////////////////////
|
|
class CS4Dialog : public CDialogBase
|
|
{
|
|
public:
|
|
//constructors
|
|
CS4Dialog(HWND hWnd, HINSTANCE hInst, CTableCopy* pTableCopy);
|
|
virtual ~CS4Dialog();
|
|
|
|
//abstract members
|
|
static BOOL WINAPI DlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
virtual INT_PTR Display();
|
|
|
|
//members
|
|
virtual BOOL InitControls();
|
|
virtual BOOL RefreshControls();
|
|
|
|
//Data
|
|
CTableCopy* m_pCTableCopy;
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// CTypesDialog
|
|
//
|
|
/////////////////////////////////////////////////////////////////////
|
|
class CTypesDialog : public CDialogBase
|
|
{
|
|
public:
|
|
//constructors
|
|
CTypesDialog(HWND hWnd, HINSTANCE hInst, CTableCopy* pTableCopy);
|
|
virtual ~CTypesDialog();
|
|
|
|
//abstract members
|
|
static BOOL WINAPI DlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
virtual INT_PTR Display();
|
|
|
|
//members
|
|
virtual BOOL InitControls();
|
|
virtual BOOL RefreshControls();
|
|
|
|
virtual BOOL ResetTypeLists();
|
|
|
|
//Data
|
|
CTableCopy* m_pCTableCopy;
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// CWizard
|
|
//
|
|
/////////////////////////////////////////////////////////////////////
|
|
class CWizard : public CDialogBase
|
|
{
|
|
public:
|
|
//Constructors
|
|
CWizard(HWND hWnd, HINSTANCE hInst);
|
|
virtual ~CWizard();
|
|
|
|
//Members
|
|
virtual INT_PTR Display();
|
|
virtual INT_PTR DisplayStep(ULONG iStep);
|
|
virtual ULONG DestroyPrevStep(ULONG iCurStep);
|
|
|
|
//Data
|
|
CTableCopy* m_pCTableCopy;
|
|
CProgress* m_pCProgress;
|
|
|
|
ULONG m_iPrevStep;
|
|
CDialogBase* m_rgDialogSteps[END_WIZ];
|
|
};
|
|
|
|
|
|
|
|
#endif //_WIZARD_H_
|