上一篇看了利用CPropertySheet制作配置工具,这一篇是利用利用CPropertySheet制作向导程序。关于CPropertySheet的说明就不讲了,上一篇有链接,不清楚了可以去了解一下。进入正题了。。。
向导程序示例截图:
向导程序制作:
1.按照上一篇说的步骤,先构造出属性Sheet和属性Page。
2.通过函数:CPropertySheet::SetWizardMode可以将属性对话框变成向导对话框。
函数形式:
void SetWizardMode( );
函数功能:建立属性页作为向导。
函数备注:在调用 DoModal之前调用 SetWizardMode。 在调用SetWizardMode后,DoModal 将返回ID_WIZFINISH (如果用户关闭与完成项按钮)或IDCANCEL。
程序关键代码:
// CInstallWizardApp 初期化
BOOL CInstallWizardApp::InitInstance()
{
//...
CInstallWizardDlg dlg(_T("install wizard"));
m_pMainWnd = &dlg;
dlg.SetWizardMode();
INT_PTR nResponse = dlg.DoModal();
//...
}
BOOL CInstallTipPage::OnSetActive()
{
// TODO: ここに特定なコードを追加するか、もしくは基本クラスを呼び出してください。
//设置向导页中的按钮
CPropertySheet* pParent=(CPropertySheet*)GetParent();
pParent->SetWizardButtons(PSWIZB_NEXT);
return CPropertyPage::OnSetActive();
}
LRESULT CInstallTipPage::OnWizardNext()
{
// TODO: ここに特定なコードを追加するか、もしくは基本クラスを呼び出してください。
//添加下一步按钮的具体处理逻辑。
return CPropertyPage::OnWizardNext();
}
LRESULT CInstallTipPage::OnWizardBack()
{
// TODO: ここに特定なコードを追加するか、もしくは基本クラスを呼び出してください。
//添加上一步按钮的具体处理逻辑。
return CPropertyPage::OnWizardBack();
}
BOOL CInstallTipPage::OnWizardFinish()
{
// TODO: ここに特定なコードを追加するか、もしくは基本クラスを呼び出してください。
//添加完成按钮的具体处理逻辑。
return CPropertyPage::OnWizardFinish();
}