ウィザードダイアログWizard DialogPropertyPageWizardSheet
このセクションは、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;
};
|