StatusBar显示数据库的属性
2008-02-23 06:50:08来源:互联网 阅读 ()
下面的代码用到了如下对象:
名为“frmDataviewer”的 Form
名为“sbrData”的 StatusBar 控件
名为“datData”的 Data 控件
添加显示数据库属性的 StatusBar
用 Add 方法创建 Panel 对象的集合。
为每个 Panel 对象配置 AutoSize 属性。
用 Panel 对象的 Text 属性显示数据库的属性。
在 PanelClick 事件中用 Select Case 语句重新设置属性。
用 Add 方法创建 Panel 对象的集合
要在运行时创建 Panel 对象的集合,需要使用 Add 方法。首先需要声明一个 Panel 类型的变量。在添加每个 Panel 对象时,可以用该变量包含对新创建的对象的引用。下面的代码在 Form 对象的 Load 事件中创建了三个 Panel 对象。
Private Sub Form_Load()
Dim pnlX As Panel
Dim i As Integer
For i = 1 to 3 '第一个面板已存在。
Set pnlX = sbrData.Panels.Add()
Next i
End Sub
注意:在向集合中添加了三个 Panel 对象之后,控件中实际上有四个面板,原因是该控件中已缺省地创建了一个面板。
为每个 Panel 对象配置 AutoSize 属性
StatusBar 控件的一个特性就是面板能够根据自身的内容自动改变大小。下例循环遍历了所有 Panel 对象,并将每个的 AutoSize 属性设置为 sbrSpring(1)。这样每个面板通过“伸缩”分享该控件的总宽度。
Private Sub Form_Load()
Dim pnlX As Panel
Dim i As Integer
For i = 1 to 3 '第一个面板已存在。
Set pnlX = sbrData.Panels.Add()
Next i
'改变所有面板的 AutoSize。
For i = 1 to 4 ' < -- 新代码
sbrData.Panels(i).AutoSize = sbrSpring '新
Next i '新
End Sub
用 Panel 对象的 Text 属性显示数据库的属性
要改变所有面板中显示的信息,只需设置该 Panel 对象的 Text 属性即可。下面的代码显示了由数据访问对象打开的数据库的有关信息。
在 Form 对象的 Load 事件中,首先创建两个数据库变量,并分别赋值为打开的数据库 (Biblio.mdb) 和记录集 (Authors)。然后代码将 Name、DateCreated、LastUpdated 和 LockEdit 属性的值赋予每个 Panel 对象的 Text 属性。
'声明数据库变量。
Dim myDB As Database, myRs As Recordset
'将 Database 设置为 BIBLIO.MDB 数据库。
Set myDB = DBEngine.Workspaces(0). _
OpenDatabase("BIBLIO.MDB")
'将记录集变量设置为 Authors 表。
Set myRs = _
myDB.OpenRecordset("Publishers", dbOpenTable)
'将 Text 属性设置为记录集属性。
sbrData.Panels(1).Text = "名称:" & myRs.Name
sbrData.Panels(2).Text = "创建日期:" & _
myRs.DateCreated
sbrData.Panels(3).Text = "上一次修改的日期:" & _
myRs.LastUpdated
sbrData.Panels(4).Text = "编辑上锁:" & myRs.LockEdits
在 PanelClick 事件中用 Select Case 语句重新设置属性
StatusBar 控件还可以用来重新设置正在显示的属性。在上面的应用实例中,DataGrid 控件被绑定到 Data 控件。(关于如何实现控件的数据绑定的详细信息,请参阅《程序员指南》中的“使用 Visual Basic 标准控件”中的“使用 ADO 数据控件”)。在该 StatusBar 显示的属性中,只有 LockEdits 属性可以被重新设置。要做到这一点,可以在 PanelClick 事件中使用 Select Case 语句,确定单击了哪个 Panel 对象。PanelClick 事件包含有有对被单击的 Panel 的引用。使用该引用即可重新设置被单击的 Panel 对象的 Text 属性。
下面的代码首先创建 Recordset 类型的变量,并将其设置为由 Data 控件打开的记录集。Select Case 语句被用来检测 Panel 对象的 Index 属性。如果 Index 为 4,则 LockEdits 属性在 -1 (True) 和 0 (False) 之间切换。最后,使用新的信息更新 Panel 对象的 Text 属性。
Private Sub sbrData_PanelClick(ByVal Panel As Panel)
Dim myRs As Recordset '声明 Recordset 变量。
'Data 控件的名称为 "datData"
Set myRs = datData.Recordset '设置变量。
Select Case Panel.Index
Case 1 to 3
'不能设置这些面板。
Case 4 ' Updateable Property is settable.
'切换该属性。
myRs.LockEdits = Abs(myRs.LockEdits) - 1
'更新 Panel 对象的 Text 属性。
sbrData.Panels(4).Text = "LockEdits: " _
& myRs.LockEdits
End Select
End Sub
上一篇: 教你在CoolBar中显示指定的图片
下一篇: VB取磁盘序列号卷标和文件系统类型
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:用VB设计更换屏幕保护的程序
下一篇:浅谈用VB6.0编写木马程序
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash