home *** CD-ROM | disk | FTP | other *** search
- //-----------------------------------------------------------------------------
- // Microsoft OLE DB TABLECOPY Sample
- // Copyright (C) 1995-1998 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 ULONG 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 ULONG 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 ULONG 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 ULONG 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 ULONG 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 ULONG 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 ULONG Display();
- virtual ULONG 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_
-