用Visual C++创建自定义的应用程序向导
2008-11-14 19:37:15 来源:WEB开发网CPropertySheet* pParent=(CPropertySheet*)GetParent(); // 获得属性表的指针
pParent->SetWizardButtons(PSWIZB_NEXT); // 设置属性表的显示按钮只为下一步
SetDlgItemText(IDC_TEXT1,"这是向导的第一步"); >
同样在显示中间页时应该设置成即有"上一步",也有"下一步",代码为:
CPropertySheet* pParent=(CPropertySheet*)GetParent();
pParent->SetWizardButtons(PSWIZB_NEXT|PSWIZB_BACK);
SetDlgItemText(IDC_TEXT2,"这是向导的第二步"); >
最后在显示最后一页时只显示"完成"和"上一步",代码为:
CPropertySheet* pParent=(CPropertySheet*)GetParent();
pParent->SetWizardButtons(PSWIZB_FINISH|PSWIZB_BACK);
SetDlgItemText(IDC_TEXT3,"这是向导的第三步"); >
从上面的代码可以看出,决定当前属性页使用哪个按钮关键是使用了CPropertySheet ::SetWizardButtons()函数,该函数的原型为:
void SetWizardButtons( DWORD dwFlags );
参数dwFlags定义了属性页上具体显示那些导航按钮,该值是下列标志的组合:PSWIZB_BACK (Back button)、PSWIZB_NEXT( Next button)、PSWIZB_FINISH(Finish button)、PSWIZB_DISABLEDFINISH(Disabled Finish button)。
因为CpropertySheet、CPropertyPage类不是一个可修改的资源,所以在程序中会发现改变向导按钮的样式会很困难,例如不能在"上一步"、"下一步就"等按钮上添加图标等;也不能修改向导按钮的位置。为了实现一个性化向导的目的,我们可以不使用CPropertySheet类和CPropertyPage类,而自行设计一个向导程序。设计的基本思路是:采用标准的向导的工作方式,每一步就是一个对话框,向导本身也是一个对话框,用来容纳每步对话框;当点击"下一步"或"上一步"时,将相应的对话框定位到要显示的位置;因为向导一般都包含很多步,每一步对应一个页,为了管理这些页,我们可以创建一个链表来管理每一步的对话框。具体实现参见代码部分。
- ››创建SQL2005自动备份,定期删除的维护计划
- ››Visual Basic 2008 数学函数
- ››Visual Studio2005中Smart Device的问题
- ››Visual Studio 中根据数据库字段动态生成控件
- ››Visual Studio 11全新黑色主题
- ››Visual Studio 2011 Beta新特性(一):安装VS201...
- ››创建动态表单 javascript
- ››定义名称时自动代码提示所需的后缀
- ››Visual Studio自定义调试窗体两个小技巧
- ››Visual Studio 2005 Team Edition for Database P...
- ››Visual C#两分钟搭建BHO IE钩子
- ››创建基于PPTP的站点到站点VPN连接:ISA2006系列之...
更多精彩
赞助商链接