上一篇看了利用CPropertySheet制作配置工具,这一篇是利用利用CPropertySheet制作向导程序。关于CPropertySheet的说明就不讲了,上一篇有链接,不清楚了可以去了解一下。进入正题了。。。
向导程序示例截图:
向导程序制作:
1.按照上一篇说的步骤,先构造出属性Sheet和属性Page。
2.通过函数:CPropertySheet::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(); }