ウィザードダイアログ

このセクションは、Origin Cでウィザードダイアログを開く方法を説明しています。このセクションのサンプルは、Origin Cのデベロッパーキットと一緒にインストールされる既存のウィザードダイアログのリソースDLLを使用します。 DLLは、このZIPファイル\Dialog Builder\Wizardサブフォルダにあります。

ウィザードダイアログを開くには、最初にいくつかユーザ定義のクラスを定義します。 Dialogクラスから派生するクラス、 WizardSheetクラスから派生する別のクラス、PropertyPageクラスから派生する各ページのクラスが必要です。

WizardSheet::AddPathControl メソッドは、ウィザードのステップまたはページを移動する助けとなるウィザードマップを提供するのに使用します。 マップをクリックして、ウィザード内のどのページにでもジャンプすることもできます。

定義した最初のクラスは、PropertyPage クラスから派生されています。 この最初のクラスはウィザード内のすべてのページで共有されるすべての情報を含みます。

class WizPage : public PropertyPage
{
protected:	
    WizardSheet* m_Sheet;
};

PropertyPage に基づくクラスを定義したので、ウィザードの各ページを取り扱うクラスを定義できます。 次のクラスは上記で定義したページクラスから派生するものです。

class WizPage1 : public WizPage
{
};

class WizPage2 : public WizPage
{
};

class WizPage3 : public WizPage
{
};

定義される次のクラスは、プレースホルダクラスです。 このクラスは、WizardSheetクラスから派生され、順にPropertySheet クラスから派生されます。 このクラスは、データメンバーとしてすべてのページのインスタンスを保持します。

class WizSheet : public WizardSheet
{
public:
    // PropertySheet のデータメンバーはWizPageオブジェクト
    WizPage1 m_WizPage1;
    WizPage2 m_WizPage2;
    WizPage3 m_WizPage3;
};

全てのページとシートのクラスの定義が完了し、ダイアログクラスを定義できます。

class WizPageDialog : public Dialog
{
public:
    // メインダイアログのコンストラクタ
    WizPageDialog(int ID) : Dialog(ID, "Wizard.DLL")
    {	
    }

    // メインダイアログのデータメンバーはPropertySheet (プレースフォルダ)
    WizSheet m_Sheet;
};