正文

MSFLEXGrid源码  2005-07-22 13:15:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/leafage/3087.html

分享到:

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

阅读(3947) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册