FoxPro/Visual FoxPro - activar boton

   
Vista:

activar boton

Publicado por pepe (11 intervenciones) el 22/06/2010 00:20:38
En un formulario(Menu) tengo un boton para abrir otro formulario (Clientes), de tal modo que cuando pulso sobre dicho boton cambio su propiedad Enabled a falso para impedir que clientes se pueda abrir de nuevo. No se como hacer, para que cuando cierre Clientes, el boton se vuelva a activar.
Muchas gracias por vuestra amabilidad.
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:activar boton

Publicado por Eduardo Daniel (123 intervenciones) el 22/06/2010 03:15:27
En el ACTIVATE del form original, le pones
thisform.command1.enabled = .T.
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:activar boton

Publicado por es_binario (757 intervenciones) el 22/06/2010 04:44:54
Lo que hago yo es declarar una variable de tipo publica y que sea boolean

Bueno para comenzar siempre el boton clientes que llama al formulario clientes esta habilitado y en vez de ejecutarlo directamente, pues este lo ejecuta a travez de un prg.

Ejemplo:

*// mi variable publica que puede estar en el init del form menu
public cliente_activo as boolean
*// es importante ponerla en falso desde el principio
cliente_activo = .F.

*// aho en el form clientes debes tener los siguiente

*// en el evento init, pones
cliente_activo = .T.

*// y en el evento destroy del form clientes pones
cliente_activo = .F.

Ahora en el boton que llama al form clientes pones

*// En el evento clic
if cliente_activo = .T.
*// aqui indica que esta activo
Messagebox("Clientes esta abierto")
return && termina
else
&& no esta abierto y puede invocarse
do form "clientes"
endif

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:activar boton

Publicado por Juanma Cruz (508 intervenciones) el 22/06/2010 13:26:56
OPCION A: ¿El otro formulario es de tipo modal? Pareciera que con eso lo resuelves.
Si tu formulario CLIENTES es modal, éste tomará el control y no dejará devolverlo a MENU hasta cerrarse. La pegas es que si necesitas acceder en paralelo a controles de MENU no vas a poder, hasta que clientes se cierre.

OPCION B: Que el botón de llamada en MENU recorra todas las ventanas existentes. Si una de ellas se llama CLIENTES sólamente la hace visible y le da el focus. Si la ventana no existe aún, haces el DO FORM. En este caso CLIENTES no tiene que ser modal, porque MENU siempre se asegurará que sólo haya una instancia creada de la ventana CLIENTES.

OPCION C: (mi favorita en muchos casos, pero porque soy muy retorcido) El formulario MENU llama al form modal CLIENTES... y se pasa a sí mismo como un parámetro :) .
Cuando CLIENTES hace init, coje la referencia del formulario que le han pasado como parámetro, lo guarda en una propiedad creada ex-profeso, y puede optar por ocultarle los botones, minimizarla, etc. En el evento UNLOAD de CLIENTES, coje la propiedad que apunta al form original y lo devuelve a su estado original, o lo que leñe se te ocurra.

Suerte.
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