Hola, a ver ojala pueda servirte lo siguiente....
1ro. activa la siguiente funcion.....
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
dim Row%
select case KeyAscii
case vbUpArrow: Row=Row - 1
case vbDownArrow: Row=Row +1
....
else exit sub
end select
' debes validar que o haya llegado al final .....
if Row > MSFlexGrid1.Rows then Row = MSFlexGrid1.Rows - 1
' ni al inicio .....
if Row = 0 then Row = 1
'con esto vas a haacer q solo responda a las flechas
'ahora para mostrar en tus cajas de dialogo solo jalas las variables de tu grilla, (tu sabes que el flexgrid se maneja por un TextMatrix(Fila, Columna), con eso es mas facil.....
Texbox1.text = MSFlexGrid1.TextMatrix(Row,0)
Texbox2.text = MSFlexGrid1.TextMatrix(Row,1)
Texbox3.text = MSFlexGrid1.TextMatrix(Row,2)
......
' para pintarlo....
MSFlexGrid1.BackColorSel = vbBlue
End Sub
Espero que te sirva, saludos desde Peru.
JZN