La Web del Programador: Comunidad de Programadores
 
    Pregunta:  2263 - DETECTAR TECLAS DE DESPLAZAMIENTO EN MSFLEXGRID
Autor:  J. Arturo Zamora Aguilar
Estoy desarrollando una aplicacion que accesa a una base de datos con formato de access 97, y para mostrar la informacion uso un msflexgrid, mi problema es que quiero que cuando el usuario presione la tecla de flecha abajo y se encuentre en la ultima fila se genere una nueva fila; pero intente detectar la tecla en el evento keydown(como se haria con un textbox) y el evento ni siquiera se genera cuando pulso la citada tecla, no se que hacer ¿Alguien tiene una sugerencia? De antemano gracias.

  Respuesta:  Manuel Castro Muñoz
´ // ** AGREGA ESTE CODIGO AL MSFLEXGRID

Private Sub Form_Load()
´ Ejemplo de Como agregar columnas y rows

MSFlexGrid1.Cols = 4
MSFlexGrid1.Rows = 4
MSFlexGrid1.FixedCols = 0

´ Llena las celdas con cualquier dato !!
For Col = 0 To MSFlexGrid1.Cols - 1
For Row = 0 To MSFlexGrid1.Rows - 1
MSFlexGrid1.TextMatrix(Col, Row) = "Texto "
Next Row
Next Col

End Sub

Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)

´ // ´ *** Las teclas por default para desplazarse son las flechas, asi que debes presionar enter para ***
´ // ´ *** agregar un nuevo Row
´ // la idea de este proceso es validar la posicion del row seleccionado, cuando sea la ultima y presione enter te agrega
´ // un Row adicional !

If KeyAscii = 13 Then

If MSFlexGrid1.RowSel = MSFlexGrid1.Rows - 1 Then
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
End If

End If

End Sub