このZIPファイルの\Dialog Builder\Wizardサブフォルダにあります。
このセクションは、Origin Cでウィザードダイアログを開く方法を説明しています。このセクションのサンプルは、Origin Cのデベロッパーキットと一緒にインストールされる既存のウィザードダイアログのリソースDLLを使用します。 DLLは、ウィザードダイアログを開くには、最初にいくつかユーザ定義のクラスを定義します。 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; };