FoxPro/Visual FoxPro - EVITAR "EL CONTROL ES DE SOLO LECTURA"

 
Vista:

EVITAR "EL CONTROL ES DE SOLO LECTURA"

Publicado por BORJA (9 intervenciones) el 11/07/2000 00:00:00
Hola Amigos.
Quisiera saber cómo hago para evitar el mensaje que saca VFP "EL CONTROL ES DE SOLO LECTURA"
cuando se intenta modificar una caja de texto, editbox, etc.
Lo que pasa es que me interesa que sea editable pero no modificable y para eso
hago que ENABLED=.T. pero READONLY=.T.
Quiero que sea editable para que pueda copiar el texto, que me responda el click/dblclick/rightclik etc.
para poder hacer con el texto que contiene el control la operación que sea.
Para conseguir esto tengo que poner las propiedades anteriores con estos valores
pero si se teclea algo me saca ele mensaje. Cómo puedo evitar que lo muestre
Gracias de antemano.
Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:EVITAR

Publicado por Charles Benzon (353 intervenciones) el 11/07/2000 00:00:00
Buenas,
Cuando pones esas propiedades, siempre se desabilitaran esos eventos,
una solucion que se me ocurre que te puede funcionar es poner el textbox
en estado normal, es decir:
textbox ** enabled / readonly en valor True
y poner el siguiente codigo en el evento Gotfocus:

ant_valor = this.value

tambien poner el siguiente codigo en el evento Losfocus:

this.value = ant_valor

De esta forma por mas que lo modifiquen (y puede ser util en algunos casos),
al salir del textbox seguiras teniendo los datos anteriores.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EVITAR

Publicado por Marcos Jara (194 intervenciones) el 12/07/2000 00:00:00
Para solucionar esto, puedes dejar las propiedades ENABLED y READONLY como estan
por predeterminado, y tratar de interceptar el evento KEYPRESS del TEXTBOX con
la siguiente rutina dentro del KEYPRESS

PROCEDURE THISFORM.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShifAltCtrl

IF nKeyCode <> 13
nKeyCode = 0
ENDIF
ENDPROC
*****************************************************
para lo cual el solo pregunta si la tecla presionada fue enter, en la opresion de cual
quier otra tecla el hace valer 0, y de esta forma no se puede escribir en el TEXTBOX
Pruebalo !!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EVITAR

Publicado por Martín Meléndez (2 intervenciones) el 08/08/2000 00:00:00
Para evitar ese molesto mensaje de El Control es Solo de Lectura, establece el siguiente set:

Set notify off

Saludos..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar