Evitar escritura en text antes de agregar nuevo!

Hola Señor experto Unysoft! Quisiera solicitar su ayuda para un problemilla en foxpro. Esta es mi duda: en mi form tengo unos textos y cuando ejecuto el form, he notado que "sin dar click en agregar nuevo registro o modificar ", puedo escribir cualquier cosa sobre el text, incluso sobre los datos que aparecen ya grabados. Compare mi form (creado por mi mismo) con un form del asistente y cuando ejecuto el de asistente e intento escribir algo en un text "SIN HABER CLIQUEADO AGREGAR REGISTRO O MODIFICAR", en la parte de abajo de la ventana de fox dice "The control is READ ONLY" y me impide introducir escritura en cualquier text.. Más bien, hasta que doy click en agregar nuevo registro o modificar es puedo escribir en los textos, de lo contrario no! Compare las propiedades de mi form con las del asistente y pues READonly esta .F. En ambos, Enabled esta .T. En ambos y pues no se como hacer! ¿Podrías ayudarme por favor? ¿Cómo evito que se introduzca escritura en mis textos si no he dado click en nuevo registro o modificar? Gracias! Ravenn!

1 respuesta

Respuesta
1
Es bastante sencillo de resolver, para lograr el resultado que tú deseas debes hacer lo siguiente:
1) Edita tu formulario y selecciona uno por uno los controles que deseas que sean de sólo lectura. Una vez seleccionados los controles (label, txtbox, etc) desde el panel de propiedades buscas la propiedad readonly y la estableces en .T. Con esto logras que tu formulario se inicialice con los controles desabilitados.
2) Luego vas a ir al evento click del botón Nuevo Registro y al evento click del botón modifica registro y vas a agregar en ambos eventos tantas líneas de programa como controles desees habilitar.
Así pues:
* luego de que creas el nuevo registro *
* luego de que tomas un registro para editar *
thisform.label1.readonly=.f.
thisform.txtbox1.readonly=.f.
thisform.label2.readonly=.f.
thisform.txtbox2.readonly=.f.
thisform.label3.readonly=.f.
thisform.txtbox3.readonly=.f.
3) Finalmente, en el final del evento click del botón guardar deberás hacer lo contrario:
thisform.label1.readonly=.t.
thisform.txtbox1.readonly=.t.
thisform.label2.readonly=.t.
thisform.txtbox2.readonly=.t.
thisform.label3.readonly=.t.
thisform.txtbox3.readonly=.t.
De esta forma lograrás el resultado que buscas.
Suerte y saludos
Carlos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas