发表评论(0)作者:, 平台:, 阅读:10726, 日期:2000-03-12
在运行时维护DBGRID的栏位宽度
---
如果你在运行时改变了DBGRID栏位的宽度,下次用DBGRID时,VB还会使用以前的设
置。下面的程序可以帮你解决这个问题。
Sub DBGridLayout(Operation As String)
'保存DBGrid栏位的宽度
Dim lWidth As Long
Dim clm As Column
Dim lDefWidth As Long
lDefWidth = DBGrid1.DefColWidth
For Each clm In DBGrid1.Columns
With clm
Select Case LCase(Operation)
Case "save"
lWidth = .Width
SaveSetting App.Title, "Cols", CStr(.ColIndex),lWidth
Case "load"
lWidth = GetSetting(App.Title, "Cols",CStr(.ColIndex), lDefWidth)
.Width = lWidth
End Select
End With
Next clm
End Sub
如你所见,本程序用SaveSetting和GetSetting两个函数来保存DBGRIDR的栏位宽度
到注册表中。在窗体的Load和Unload事件中使用这个子程序就可以达到你的目的了。
如:
Private Sub Form_Load()
DBGridLayout "Load"
End Sub
Private Sub Form_Unload(Cancel As Integer)
DBGridLayout "Save"
End Sub
---
如果你在运行时改变了DBGRID栏位的宽度,下次用DBGRID时,VB还会使用以前的设
置。下面的程序可以帮你解决这个问题。
Sub DBGridLayout(Operation As String)
'保存DBGrid栏位的宽度
Dim lWidth As Long
Dim clm As Column
Dim lDefWidth As Long
lDefWidth = DBGrid1.DefColWidth
For Each clm In DBGrid1.Columns
With clm
Select Case LCase(Operation)
Case "save"
lWidth = .Width
SaveSetting App.Title, "Cols", CStr(.ColIndex),lWidth
Case "load"
lWidth = GetSetting(App.Title, "Cols",CStr(.ColIndex), lDefWidth)
.Width = lWidth
End Select
End With
Next clm
End Sub
如你所见,本程序用SaveSetting和GetSetting两个函数来保存DBGRIDR的栏位宽度
到注册表中。在窗体的Load和Unload事件中使用这个子程序就可以达到你的目的了。
如:
Private Sub Form_Load()
DBGridLayout "Load"
End Sub
Private Sub Form_Unload(Cancel As Integer)
DBGridLayout "Save"
End Sub