132 lines
3.3 KiB
C
132 lines
3.3 KiB
C
|
|
/****************************************************************************\
|
|
|
|
WIZARD.H / OPK Wizard (OPKWIZ.EXE)
|
|
|
|
Microsoft Confidential
|
|
Copyright (c) Microsoft Corporation 1999
|
|
All rights reserved
|
|
|
|
Wizard header file for the OPK Wizard. Contains the functions for
|
|
creating the wizard.
|
|
|
|
3/99 - Jason Cohen (JCOHEN)
|
|
Added this new header file for the OPK Wizard as part of the
|
|
Millennium rewrite.
|
|
|
|
09/2000 - Stephen Lodwick (STELO)
|
|
Ported OPK Wizard to Whistler
|
|
|
|
\****************************************************************************/
|
|
|
|
|
|
#ifndef _WIZARD_H_
|
|
#define _WIZARD_H_
|
|
|
|
|
|
//
|
|
// Include File(s):
|
|
//
|
|
#include <htmlhelp.h>
|
|
#include <commctrl.h>
|
|
#include "jcohen.h"
|
|
|
|
|
|
//
|
|
// External Macros:
|
|
//
|
|
|
|
#define WIZ_RESULT(hwnd, result) \
|
|
SetWindowLongPtr(hwnd, DWLP_MSGRESULT, result)
|
|
|
|
#define WIZ_SKIP(hwnd) \
|
|
WIZ_RESULT(hwnd, -1)
|
|
|
|
#define WIZ_FAIL(hwnd) \
|
|
WIZ_SKIP(hwnd)
|
|
|
|
#define WIZ_BUTTONS(hwnd, lparam) \
|
|
SetWizardButtons(hwnd, lparam)
|
|
|
|
#define WIZ_CANCEL(hwnd) \
|
|
( ( (GET_FLAG(OPK_EXIT)) || (MsgBox(GetParent(hwnd), IDS_WARN_CANCEL_WIZARD, IDS_WIZARD_TITLE, MB_ICONQUESTION | MB_YESNO | MB_DEFBUTTON2 ) == IDYES) ) ? \
|
|
( (WIZ_RESULT(hwnd, 0)) ? TRUE : TRUE ) : \
|
|
( (WIZ_RESULT(hwnd, -1)) ? FALSE : FALSE ) )
|
|
|
|
#define WIZ_PRESS(hwnd, msg) \
|
|
PostMessage(GetParent(hwnd), PSM_PRESSBUTTON, msg, 0L)
|
|
|
|
#define WIZ_EXIT(hwnd) \
|
|
{ \
|
|
SET_FLAG(OPK_EXIT, TRUE); \
|
|
WIZ_PRESS(hwnd, PSBTN_CANCEL); \
|
|
}
|
|
|
|
#define WIZ_HELP() \
|
|
g_App.hwndHelp = HtmlHelp(NULL, g_App.szHelpFile, HH_HELP_CONTEXT, GET_FLAG(OPK_OEM) ? g_App.dwCurrentHelp+200 : g_App.dwCurrentHelp)
|
|
|
|
#define WIZ_NEXTONAUTO(hwnd, msg) \
|
|
{ \
|
|
if(GET_FLAG(OPK_AUTORUN))\
|
|
{\
|
|
WIZ_PRESS(hwnd, msg);\
|
|
}\
|
|
}
|
|
|
|
#define DEFAULT_PAGE_FLAGS ( PSP_DEFAULT | \
|
|
PSP_HASHELP | \
|
|
PSP_USEHEADERTITLE | \
|
|
PSP_USEHEADERSUBTITLE )
|
|
|
|
//
|
|
// Type definitions
|
|
//
|
|
|
|
// Structure needed for Tree Dilogs
|
|
//
|
|
typedef struct _TREEDLG
|
|
{
|
|
DWORD dwResource;
|
|
DLGPROC dlgWindowProc;
|
|
DWORD dwTitle;
|
|
DWORD dwSubTitle;
|
|
HWND hWindow;
|
|
HTREEITEM hItem;
|
|
BOOL bVisible;
|
|
} TREEDLG, *PTREEDLG, *LPTREEDLG;
|
|
|
|
|
|
// Structure needed for Wizard Dilogs
|
|
//
|
|
typedef struct _WIZDLG
|
|
{
|
|
DWORD dwResource;
|
|
DLGPROC dlgWindowProc;
|
|
DWORD dwTitle;
|
|
DWORD dwSubTitle;
|
|
DWORD dwFlags;
|
|
} WIZDLG, *PWIZDLG, *LPWIZDLG;
|
|
|
|
// Structure needed for Wizard Dilogs
|
|
//
|
|
typedef struct _SPLASHDLG
|
|
{
|
|
DWORD dwResource;
|
|
DLGPROC dlgWindowProc;
|
|
HWND hWindow;
|
|
} SPLASHDLG, *PSPLASHDLG, *LPSPLASHDLG;
|
|
|
|
//
|
|
// External Function Prototype(s):
|
|
//
|
|
|
|
int CreateWizard(HINSTANCE, HWND);
|
|
int CreateMaintenanceWizard(HINSTANCE, HWND);
|
|
int CALLBACK WizardCallbackProc(HWND, UINT, LPARAM);
|
|
LONG CALLBACK WizardSubWndProc(HWND , UINT , WPARAM , LPARAM );
|
|
LRESULT CALLBACK MaintDlgProc(HWND, UINT, WPARAM, LPARAM);
|
|
static HTREEITEM TreeAddItem(HWND, HTREEITEM, LPTSTR);
|
|
void SetWizardButtons(HWND hwnd, DWORD dwButtons);
|
|
|
|
|
|
#endif // _WIZARD_H_
|