65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.38/5 (23投票s)

2003年7月30日

4分钟阅读

viewsIcon

101896

downloadIcon

2527

你可以将此控件用于你的程序 - 请参见示例。

下载源代码

下载演示项目

引言

这个对象(ActiveX 控件)是一个最好的网格。

请看图片。

Sample screenshot

引言

现有的网格程序总是包含一个基本缺陷。

一个对象包含许多属性、许多方法和许多事件。

但在网格中,看不到与对象类似的字段。

而且网格不包含所有“基本对象”(TextBox、CheckBox、RadioButton、CommandButton、ComboBox、ListBox 等)。

Sample screenshot


我一直有这种感觉。   

我觉得,必须创建许多类似于“基本对象”的对象,    包含 所有基本对象的属性、方法和事件,并且可以使用它来替代网格。

Oracle Developer 帮了我很多。

两年前我开始研究这种方法(分组对象),  并且 尚未完成。

目标

创建许多具有 4 个属性的对象

1-     单个对象(与其他类似对象分离)

2-     非常简单地将它们链接起来

3-     包含基本对象的所有属性、方法和事件。

4-     可以将其用作类似的网格(多行)。

这个对象 (gTextBox)

这个对象(之后称为 gTextBox)类似于一个 TextBox(具有最大兼容性),  但有所不同,它是一组 TextBox 对象,而不是单个 TextBox。

 将其命名为“gTextBox”。

我正在创建其他对象(gCheckBox-gCommandButton-gComboBox 等)

gTextBox 包含许多自身的属性、方法和事件,以及单个 TextBox 的所有属性、方法和事件。

请看这张图片

Sample screenshot


任何行都包含 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- 还有…

 

 

© . All rights reserved.