当组内一个检验框或者互锁按钮的状态被改变是,它的TGroup将被通知。然后,TGroup发送一个“组”通知消息给其父对话框。父对话框根据成组框内的控件进行响应并设置成组框内的控件状态。
10)TBrowser
它提供多行多列的列表框管理并提供处理内部字段的能力,类似数据库的Browser功能,该控件对数据库操作比较有用。TBrowser构造函数接受通常的控件构造函数参数:坐标、显示框宽度和高度以及显示的颜色。
下面例子介绍数据库对象的创建方法:
Tbrowser *Browser;
Browser = new TBrowser(“数据库”,2,2,40,10,FTColor,BKColor);
其中,第一个参数表示数据库控件的标题(系统不会显示);第二个参数表示相对于父对话框的列坐标;第三个参数表示相对于父对话框的行坐标;第四个参数表示宽度;第五个参数表示高度;第六个参数表示显示的前景颜色;第七个参数表示显示的背景颜色。
创建了数据库控件后,将要向表格框内填入各个字段的标题,然后,可以增加记录,或者完全删除。
下面详细列出步骤来说明:
①向表格框内填入各个字段的标题
Tbrowser提供成员函数InsertFieldName来支持本操作,它有4个参数,其中第一个参数表示表格中总字段数;第二个参数表示当前字段的索引,从0开始记述;第三个参数表示字段的汉字显示名称;第四个参数表示字段的宽度。一般来说,如果字段长度小于汉字显示名称的长度,则去汉字显示名称的长度,当然,去实际字段长度也可以。下面事例定义5个字段:
Browser->InserdFieldName(5,0,“编号”,4);
Browser->InserdFieldName(5,1,“姓名”,16);
Browser->InserdFieldName(5,2,“性别”,2);
Browser->InserdFieldName(5,3,“年龄”,4);
Browser->InserdFieldName(5,4,“地址”,64);
在Object UNIX Class中要求增加字段名称是必须的。
②增加记录
在增加完字段名称后,应该增加记录。该控件类提供增加记录的成员函数InsertRecord。该函数没有参数。它作为增加字段的前奏,必须先运行该函数后,才可以进行下步的增加字段操作。
③增加字段
在运行完增加记录函数InsertRecord后,可以运行增加字段函数。该控件提供类成员函数InserdField来完成本操作。该函数需要四个参数,其中第一个参数指向当前记录的指针,在类的成员数据中有一个对象表示当前记录的指针:CurRecord,所以可以把该数据成员作为一个参数传递。实际上,在运行成员函数InsertRecord后,CurRecord指针就指向新增加的记录了;第二参数表示字段内容;第三个参数表示字段的长度;第四个字段表示字段的类型如:整型、数值型、日期型、字符型等。这要根据实际的数据库定义了。
Browser->InsertField(Browser->CurRecord,“0001”,16,“char”);
Browser->InsertField(Browser->CurRecord,“张无忌”,16,”char”);
Browser->InsertField(Browser->CurRecord,“男”,16,”char”);
Browser->InsertField(Browser->CurRecord,“29”,16,“char”);
Browser->InsertField(Browser->CurRecord,“安徽”,16,“char”);
若要删除一个记录,则需要调用成员函数DeleteRecord,下面成员函数将删除第2条记录:
Browser->DeleteRecord(2);
最后,ClearRecord成员函数将表格中的全部记录:
Browser ->ClearRecord(); 当然,也可以修改某记录的内容,可以使用成员函数SetFieldText。它有三个参数,第一个参数表示当前记录的指针;第二个参数表示某字段的中文名,该中文名与上面自己定义的字段中文名要一致;第三个参数为内容存放的空间数组。例如,要设置当前记录“姓名”字段的内容,用以下方法:Browser->GetFieldText(Browser->CurRecord,”姓名”,”张无忌”)。
|