Option Explicit
Dim DefColor
Dim Horizenw
Private Sub Form_Load()
'==========================
Dim I As Integer, lRow As Long
With MSFlexGrid1 '初始化表格
.Cols = 9
.Rows = 8
For I = 1 To 4
.ColWidth(I) = 750
Next I
For I = 5 To 8
.ColWidth(I) = 950
Next I
lRow = 1
For I = 1 To 7
.TextMatrix(lRow, 4) = 1
.TextMatrix(lRow, 0) = 表达式 & I
lRow = 1 lRow
.RowHeight(I) = 400
Next I
End With
End Sub
Private Sub MSFlexGrid1_DblClick()
Dim I
With MSFlexGrid1
If .MouseCol = 0 Or .MouseRow = 0 Then Exit Sub
Text1.Left = .Left .CellLeft: Text1.Top = .Top .CellTop
Text1.Height = .CellHeight: Text1.Width = .CellWidth
Text1.Text = .Clip
Text1.Visible = True: Text1.SetFocus
Text1.SelStart = 0: Text1.SelLength = Len(Text1.Text)
End With
End Sub
Private Sub MSFlexGrid1_KeyUp(KeyCode As Integer, shift As Integer)
If KeyCode = vbKeyDelete Then MSFlexGrid1.Clip =
End Sub
Private Sub MSFlexGrid1_LeaveCell()
MSFlexGrid1.CellBackColor = DefColor
End Sub
Private Sub MSFlexGrid1_RowColChange()
With MSFlexGrid1
Text1.Visible = False
End With
End Sub
Private Sub MSFlexGrid1_Scroll()
With MSFlexGrid1
End With
End Sub
Private Sub Text1_Change()
MSFlexGrid1.Clip = Text1.Text
End Sub
Private Sub Text1_KeyUp(KeyCode As Integer, shift As Integer)
Dim c As Long
Horizenw = 5 ‘默认到第5列时返回,可以取消
Select Case KeyCode
Case vbKeyRight, vbKeyReturn
If MSFlexGrid1.Col < Horizenw - 1 Then
MSFlexGrid1.Col = MSFlexGrid1.Col 1
MSFlexGrid1_DblClick
ElseIf MSFlexGrid1.Row < MSFlexGrid1.Rows - 1 Then
MSFlexGrid1.Col = 1: MSFlexGrid1.Row = MSFlexGrid1.Row 1
MSFlexGrid1_DblClick
Else
With MSFlexGrid1 ’追加一行
.Rows = .Rows 1
c = .Rows
.Col = 1: .Row = .Row 1
.TextMatrix(c - 1, 0) = 表达式 & c - 1 ‘行头标志设置
.RowHeight(c - 1) = 400 ’保持行高
End With
MSFlexGrid1_DblClick
End If
Case vbKeyLeft
If MSFlexGrid1.Col > 1 Then
MSFlexGrid1.Col = MSFlexGrid1.Col - 1
MSFlexGrid1_DblClick
ElseIf MSFlexGrid1.Row > 1 Then
MSFlexGrid1.Col = MSFlexGrid1.Cols - 1: MSFlexGrid1.Row = MSFlexGrid1.Row - 1
MSFlexGrid1_DblClick
End If
Case vbKeyUp
If MSFlexGrid1.Row > 1 Then MSFlexGrid1.Row = MSFlexGrid1.Row - 1
MSFlexGrid1_DblClick
Case vbKeyDown
If MSFlexGrid1.Row < MSFlexGrid1.Rows - 1 Then MSFlexGrid1.Row = MSFlexGrid1.Row 1
MSFlexGrid1_DblClick
Case vbKeyF4 ‘删除
If MSFlexGrid1.Row > 1 Then
MSFlexGrid1.RemoveItem MSFlexGrid1.Row
End If
End Select
End Sub
正文
MSFLEXGrid源码 2005-07-22 13:15:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/leafage/3087.html
阅读(3935) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论