Edición en un grid

Tengo un compañero de trabajo que tiene una duda en cuanto al modo de edición en Visual tanto en los text como en los grid.
Por ejemplo, en un text, no se puede activar y desactivar el modo inserción, con la tecla insert como pasa en otros lenguajes, y poder sobreescribir o insertar.
Luego en una celda de un gril, al modificar aparece el texto seleccionado y siempre se borra en vez de mantenerlo para sobreescribir o insertar, con lo cual se puede perder la información escrita anteriormente.
Esta acostumbrado a trabajar con Clipper y no tiene estos problemas de edición.
Lo hemos intentado solucionar reescribiendo el texto con sendkeys. Pero le parece increíble que no se pueda hacer de otro modo algo tan simple.
Mucha gracias por todo, te estas convirtiendo en nuestra supermente.

1 Respuesta

Respuesta
1
Si, tienes razón, hay que currárselo un poco.
Sin embargo lo puedes hacer utilizando las propiedades SelLength, SelStart y SelText que tienen casi todos los controles que manejan texto, incluyendo los textbox y los grids. Lo que pasa es que estas propiedades, al no estar disponibles en tiempo de diseño, quedan un poco escondidas y poca gente las conoce. Mirate la ayuda.
La presión de la tecla insert la puedes detectar con la función KeyDow, y combinando estas dor técnicas puedes hacer cualquier diablura durante la entrada de un dato. Ten en cuenta que el evento KeyDown se activa con la presión de CADA tecla mientras escribes en el control.
Como ejemplo te adjunto una rutinilla que situada en el TextChange de un text baox hace que los textos se vean siempre en mayúscula aunque el usuario teclee en minúscula:
Private Sub Text1_Change()
With Text1
.Text = LTrim(RTrim(.Text))
.Text = UCase(.Text)
.SelStart = Len(.Text)
End With
End Sub
Suerte... y gracias por lo supermente. :-o

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas