属性表单和向导的创建

    类CPropertyPage的对象表示一张属性表的各页,或者说是被看作是标签对话框。同标准对话框一样,要为属性表中每一页从 CPropertyPage类中派生一个新类。要使用CPropertyPage派生对象,首先要创建一个CPropertySheet对象,然后为属性 表中的每一页创建一个对象。为表中的每一页调用CPropertySheet::AddPage函数,然后对一个模式属性表调用 CPropertySheet::DoModal函数来显示此属性表。对一个非模式属性表调用CPropertySheet::Create来显示此属性 表。

  你可以创建一种被称为向导的标签对话框,这种对话框包括一个属性表,该表有一系列属性页来引导 用户进行一项操作的每一个步骤,比如说设置一个设备或创建一个时事通讯。在一个向导类型的标签对话框中属性页没有标签,每次只有一个属性页是可见的。而 且,一个向导类型的对话框没有OK和Apply Now按钮,代替它们的是一个Back按钮,一个Next或Finish按钮和一个Cancel按钮。

  一个属性表单由一个或多个属性页组成,有效地解决了大量信息无法在一个对话框上显示的问题,并提供了对信息分类和组织管理的功能。

  首先创建三个属性页,(也可以从对话框资源中创建,改变一些属性即可)。

 然后为了创建一个属性表单,首先要创建一个CPropertySheet对象,接下来,为每一个属性页创建一个对象(CPropertyPage类型),并调用AddPage函数添加每一个属性页,然后调用DoModal函数显示一个模态属性表单,或者调用Create函数创建一个非模态属性表单。

  创建一个向导类型的对话框,应该遵循创建一个标准属性表单的步骤来实现,但在调用属性表单对象的DoModal函数之前,应该首先调用

SetWizardMode函数(调用之后,对话框变成一种向导的模式,底部按钮变成,上一步,下一步,取消,的按钮,即sets the PSH_WIZARD flag ),但是对于第一页,我们不需要上一步这个按钮,对于最后一页,不需要下一步这个按钮,调用SetWizardButtons成员函数,设置向导对话框上的按钮,需要重写OnSetActive函数(他是一个虚函数),(This member function is called by the framework when the page is chosen by the user and becomes the active page),

处理页面,必须是已经有选项了,才可以跳到下一页,重写虚函数OnWizardNext,(当点击next按钮时候调用函数,返回值-1的话,不可以跳到下一页),更新与控件相关联的变量数据,需调用updatedata函数。

为地点列表框添加一些数据,必须是在属性页显示之前向列表框中添加地点。所以添加消息处理函数wm_initdlglog函数,在MFC编程中,对控件的操作都是通过相关的MFC类来完成的,对于列表框,对应的类是CListBox,用其成员函数AddString,向列表框添加字符串.

 要接受用户在向导中的选择,就是把他显示在视类窗口中.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值