首页 理论教育 实现成员函数-VisualC++编程技术与实例

实现成员函数-VisualC++编程技术与实例

时间:2023-11-16 理论教育 版权反馈
【摘要】:下面是自定义成员函数和消息响应函数的实现。在该函数中,首先将所有的编辑框清空,以便输入新记录各字段的值,然后将m_nOperator置为1,表示现在处于添加新记录状态,以便在保存新记录时进行判断;最后把相应的按钮置为有效或无效。程序清单4-29CADOObjDlg::OnSave()函数11. OnCancelSave()函数该函数用来取消添加新记录或修改当前记录的操作。

实现成员函数-VisualC++编程技术与实例

下面是自定义成员函数和消息响应函数的实现。

1. OnInitDialog()函数

该函数完成在对话框创建后的初始化工作。初始化工作主要包括:建立adoConn对象与数据源的连接;打开adoRs记录集;显示第一条记录的内容。在OnInitDialog()函数中添加的代码如程序清单4-20所示。

程序清单4-20 CADOObjDlg::OnInitDialog()函数

2. ListRecord()函数

该函数用来将当前记录的内容显示在对话框上,如程序清单4-21所示。

程序清单4-21 CADOObjDlg::ListRecord()函数

3. OnFirst()函数

该函数将记录指针移到第一条记录上,同时将“第一条”、“上一条”两个按钮变为无效,将“下一条”、“最后一条”两个按钮变为有效。该函数的实现见程序清单4-22。

程序清单4-22 CADOObjDlg::OnFirst()函数

4. OnPrev()函数

该函数将记录指针移到上一条记录上,如果已经移到第一条记录上,则将“第一条”、“上一条”两个按钮变为无效,否则这两个按钮变为有效;同时将“下一条”、“最后一条”两个按钮变为有效。该函数的实现见程序清单4-23。

程序清单4-23 CADOObjDlg::OnPrev()函数

5. OnNext()函数

该函数将记录指针移到下一条记录上,如果已经移到最后一条记录上,则将“下一条”、“最后一条”两个按钮变为无效,否则这两个按钮变为有效;同时将“第一条”、“上一条”两个按钮变为有效。该函数的实现见程序清单4-24。

程序清单4-24 CADOObjDlg::OnNext()函数

6. OnLast()函数

该函数将记录指针移到最后一条记录上,同时将“下一条”、“最后一条”两个按钮变为无效,将“第一条”、“上一条”两个按钮变为有效。该函数的实现见程序清单4-25。(www.xing528.com)

程序清单4-25 CADOObjDlg::OnLast()函数

7. OnAdd()函数

该函数用来添加新的记录。在该函数中,首先将所有的编辑框清空,以便输入新记录各字段的值,然后将m_nOperator置为1,表示现在处于添加新记录状态,以便在保存新记录时进行判断;最后把相应的按钮置为有效或无效。该函数的实现见程序清单4-26。

程序清单4-26 CADOObjDlg::OnAdd()函数

8. OnEdit()函数

该函数用来编辑当前记录。在该函数中,首先将m_nOperator置为2,表示现在处于修改当前记录状态,以便在保存记录时进行判断;最后把相应的按钮置为有效或无效。该函数的实现见程序清单4-27。

程序清单4-27 CADOObjDlg::OnEdit()函数

9. OnDelete()函数

该函数用来删除当前记录。如果当前记录删除成功,则需要重新获取记录集的最大记录号。该函数的实现见程序清单4-28。

程序清单4-28 CADOObjDlg::OnDelete()函数

10. OnSave()函数

该函数用来将添加的新记录或修改的当前记录保存到数据库中。在该函数中,首先判断是否处于添加新记录或修改当前记录的状态,如果lOperator==0表示不处于添加新记录或修改当前记录的状态,则直接返回。然后,如果是添加新记录(lOperator==1),则调用AddNew()函数添加一条空记录,并对新添加的记录的各字段进行赋值。如果是修改记录,则把修改后的值直接赋给记录的各字段。最后,调用Update函数将记录数据保存到数据库。该函数的实现见程序清单4-29。

程序清单4-29 CADOObjDlg::OnSave()函数

11. OnCancelSave()函数

该函数用来取消添加新记录或修改当前记录的操作。如果处于添加新记录的状态,则将回到添加前的状态;如果处于修改当前记录的状态,则回到修改前的状态。最后把所有按钮置为有效或无效。该函数的实现见程序清单4-30。

程序清单4-30 CADOObjDlg::OnCancelSave()函数

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈