gTextbox - 具有源代码的类似网格的控件






1.38/5 (23投票s)
2003年7月30日
4分钟阅读

101896

2527
你可以将此控件用于你的程序 - 请参见示例。
下载源代码
下载演示项目
引言
这个对象(ActiveX 控件)是一个最好的网格。
请看图片。
引言
现有的网格程序总是包含一个基本缺陷。
一个对象包含许多属性、许多方法和许多事件。
但在网格中,看不到与对象类似的字段。
而且网格不包含所有“基本对象”(TextBox、CheckBox、RadioButton、CommandButton、ComboBox、ListBox 等)。
我一直有这种感觉。
我觉得,必须创建许多类似于“基本对象”的对象, 包含 所有基本对象的属性、方法和事件,并且可以使用它来替代网格。
Oracle Developer 帮了我很多。
两年前我开始研究这种方法(分组对象), 并且 尚未完成。
目标
创建许多具有 4 个属性的对象
1- 单个对象(与其他类似对象分离)
2- 非常简单地将它们链接起来
3- 包含基本对象的所有属性、方法和事件。
4- 可以将其用作类似的网格(多行)。
这个对象 (gTextBox)
这个对象(之后称为 gTextBox)类似于一个 TextBox(具有最大兼容性), 但有所不同,它是一组 TextBox 对象,而不是单个 TextBox。
我 将其命名为“gTextBox”。
我正在创建其他对象(gCheckBox-gCommandButton-gComboBox 等)
gTextBox 包含许多自身的属性、方法和事件,以及单个 TextBox 的所有属性、方法和事件。
请看这张图片
任何行都包含 TextBox 的所有属性、方法和事件,并且包含许多自身的属性、方法和事件。
专业细节
ü gTextBox 属性
属性名称 |
描述 |
访问 |
ChangeForeColor |
更改文本后将前景色更改为此颜色 |
R(rw) D(rw) |
Count |
现有记录数 |
R(r) |
GridColor |
设置并返回网格颜色 |
R(rw) D(rw) |
NumberOnly |
设置并返回 gTextBox 只允许输入数字(不允许字母) |
R(rw) D(rw) |
ParsiWrite |
设置并返回输入语言(仅适用于波斯语) |
R(rw) D(rw) |
ReadOnly |
设置并返回 gTextBox 是否为只读(如果只读则不可编辑) |
R(rw) D(rw) |
记录 |
将所有记录包含在 gTextBox 中(这是一个集合类) |
R(rw) |
RowBackColor |
设置并返回当前行的背景颜色 |
R(rw) D(rw) |
RowForeColor |
设置并返回当前行的前景色 |
R(rw) D(rw) |
RowShow |
设置并返回显示的行数(默认为 10) |
R(rw) D(rw) |
RowSize |
设置并返回行大小(像素) |
R(rw) D(rw) |
滚动条 |
设置并返回滚动条是否存在 |
R(rw) D(rw) |
ScrollWidth |
设置并返回滚动条宽度(像素) |
R(rw) D(rw) |
SelectedItem |
设置并返回当前项 |
R(r) |
SizableRow |
设置并返回是否可以在运行时更改行大小 |
R(rw) D(rw) |
SpaceHorizontal |
设置并返回此对象与其他对象之间的水平间距 |
R(rw) D(rw) |
SpaceVertical |
设置并返回 gTextBox 中文本框之间的垂直间距 |
R(rw) D(rw) |
R = 在运行时访问 D = 在设计时访问 (r) = 可读 (w) = 可写 |
ü gTextBox 方法
方法名称 |
描述 |
参数 |
AddItem |
向 Records 添加新记录 |
Text as string |
Clear |
清除所有记录并将 Records 属性设置为空 |
无 |
GoFocus |
将焦点设置到文本框(当前行) |
|
MoveRecordTo |
将行移动到指定记录(必须指定行号 [newCursor] 和记录号 [newRecord]) |
newCursor as integer newRecord as long |
刷新 |
刷新 gTextBox 的所有记录 |
无 |
移除 |
删除指定记录 |
DeletedRecordNo as long |
RollBack |
回滚指定记录 |
RecordNo as long(如果未定义则回滚所有记录) |
ü gTextBox 事件
事件名称 |
描述 |
参数 |
HappenedTime |
AfterDelete |
删除行后激活此事件 |
无 |
删除后 |
AfterInsert |
插入记录后激活此事件 |
RecordNo as long 插入的记录号 |
插入后 |
AfterChange |
更改记录后(仅第一次) |
CursorNo as integer(行号) RecordNo as long |
更改后 |
BeforeChange |
更改记录前(仅第一次) |
CursorNo as integer(行号) RecordNo as long |
更改前 |
BeforeDelete |
删除记录前(仅当前记录) 您可以取消删除 |
Cancel As Boolean |
删除前 |
BeforeClear |
清除所有记录前 您可以取消清除 |
Cancel As Boolean |
清除前 |
BeforeInsert |
插入记录前 您可以取消插入 |
Cancel As Boolean |
插入前 |
ChangeRowSize |
更改行大小(如果用鼠标拖动网格) 您可以取消行大小更改 |
Cancel As Boolean ChangeSize As Single |
更改时(在网格上拖动鼠标) |
OnMoveRecord |
移动新记录 |
CursorNo As Integer RecordNo As Long |
更改行号后 |
OnScroll |
滚动并转到新记录 |
CursorNo As Integer RecordNo As Long |
仅通过更改滚动条移动到新记录后 |
验证 |
Validation(等于 Validate 事件) |
CursorNo As Integer RecordNo As Long Cancel As Boolean |
退出行前 |
修订历史(版本)
版本 1.0
- 上次更新 于 2562年29月/提尔月(波斯历)等于2003年7月20日
未来程序(即将推出的版本)
1- 连接 ADO 数据库。
2- 添加 Formula 属性(功能强大)
3- 还有…