代码如下,当按下回车到MSFlexGrid容器最下面增加一行时,能否实现自动下拉滚动条?
Private Sub Form_Activate()
  
  Dim i As Integer
  MSFlexGrid1.Rows = 20
  MSFlexGrid1.Cols = 8
  MSFlexGrid1.ColWidth(0) = 8 * 25 * 2
  MSFlexGrid1.ColWidth(1) = 12 * 25 * 3
  MSFlexGrid1.ColWidth(2) = 12 * 25 * 6
  MSFlexGrid1.ColWidth(3) = 12 * 25 * 3
  MSFlexGrid1.ColWidth(4) = 12 * 25 * 4
  MSFlexGrid1.ColWidth(5) = 12 * 25 * 4
  MSFlexGrid1.ColWidth(6) = 12 * 25 * 4
  MSFlexGrid1.ColWidth(7) = 12 * 25 * 4
  MSFlexGrid1.FixedRows = 1
  MSFlexGrid1.FixedCols = 1
  MSFlexGrid1.TextMatrix(0, 0) = "编号"
  MSFlexGrid1.TextMatrix(0, 1) = "商品代码"
  MSFlexGrid1.TextMatrix(0, 2) = "商品名"
  MSFlexGrid1.TextMatrix(0, 3) = "型号规格"
  MSFlexGrid1.TextMatrix(0, 4) = "数量"
  MSFlexGrid1.TextMatrix(0, 5) = "单位"
  MSFlexGrid1.TextMatrix(0, 6) = "单价"
  MSFlexGrid1.TextMatrix(0, 7) = "金额"
  MSFlexGrid1.Text = Text1.Text
  For i = 1 To 19
      MSFlexGrid1.TextMatrix(i, 0) = i  
  Next i
  Text1.Visible = True
  Text1.Left = MSFlexGrid1.Left + MSFlexGrid1.ColPos(MSFlexGrid1.Col)
  Text1.Top = MSFlexGrid1.Top + MSFlexGrid1.RowPos(MSFlexGrid1.Row)
  Text1.Width = MSFlexGrid1.ColWidth(MSFlexGrid1.Col)
  Text1.Height = MSFlexGrid1.RowHeight(MSFlexGrid1.Row)
  Text1.SetFocus
End SubPrivate Sub MSFlexGrid1_Click()
  
    '文本框跟着移动'
     Text1.Left = MSFlexGrid1.Left + MSFlexGrid1.ColPos(MSFlexGrid1.Col)
     Text1.Top = MSFlexGrid1.Top + MSFlexGrid1.RowPos(MSFlexGrid1.Row)
     Text1.Width = MSFlexGrid1.ColWidth(MSFlexGrid1.Col)
     Text1.Height = MSFlexGrid1.RowHeight(MSFlexGrid1.Row)
     Text1.Text = MSFlexGrid1.Text
     Text1.Visible = True
     Text1.SetFocus
End Sub
Private Sub MSFlexGrid1_LeaveCell()
If enr = False Then
MSFlexGrid1.Text = Text1.Text
End If
End SubPrivate Sub MSFlexGrid1_Scroll()
Text1.Visible = False
End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)
 On Error Resume Next
 
  If KeyAscii = vbKeyReturn Then '回车到下一个格子
     MSFlexGrid1.Text = Text1.Text
    If MSFlexGrid1.Col < 7 Then
        MSFlexGrid1.Col = MSFlexGrid1.Col + 1
    Else
       enr = True
       MSFlexGrid1.Col = 1
       MSFlexGrid1.Row = MSFlexGrid1.Row + 1
       enr = False
       If Err = 30009 Then
          MSFlexGrid1.AddItem (MSFlexGrid1.Rows)
          enr = True
          MSFlexGrid1.Col = 1
          MSFlexGrid1.Row = MSFlexGrid1.Row + 1
          MSFlexGrid1.ScrollTrack = True
          Text1.Visible = False
          enr = False
       End If
    End If
     Text1.Left = MSFlexGrid1.Left + MSFlexGrid1.ColPos(MSFlexGrid1.Col)
     Text1.Top = MSFlexGrid1.Top + MSFlexGrid1.RowPos(MSFlexGrid1.Row)
     Text1.Width = MSFlexGrid1.ColWidth(MSFlexGrid1.Col)
     Text1.Height = MSFlexGrid1.RowHeight(MSFlexGrid1.Row)
     Text1 = MSFlexGrid1.Text
     Text1.Visible = True
     Text1.SetFocus
  End If
End SubPrivate Sub Text1_Change()
 Dim A As Single
  If MSFlexGrid1.Col = 4 Then
    MSFlexGrid1.Text = Text1.Text
    '求金额
   A = Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 4)) * Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 6))
   MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 7) = Format(A, "0.00")
  End If
  If MSFlexGrid1.Col = 6 Then
    MSFlexGrid1.Text = Text1.Text
   '求金额
   A = Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 4)) * Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 6))
    MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 7) = Format(A, "0.00")
  End If
End Sub