¿Cómo puedo activar o desactivar un botón desde un formulario externo en Visual FoxPro?

Cordialmente y te tengo dos preguntas:
-Como puedo activar y desactivar un botón que se encuentra en otro formulario desde otro formulario.
Como puedo hacer que un botón (este botón esta en otro formulario)se active desde otro formulario cuando yo haga click en un botón
Te doy las gracias y espero tu pronta
Respuesta.
Nota: estoy trabajano en visual foxpro 6.0 español.
[email protected]
[email protected]

1 respuesta

Respuesta
1
Entes que nada, disculpa la tardanza, pero el fin de semana me desconecto totalmente de Internet.
Dado que VFP es para programación Orientada a Objetos, deberás saber que:
Un formulario es un objeto que contiene a otros objetos (en este caso: botones).
Fíjate o siguiente, supone que tienes 2 botones dentro del mismo formulario, y desde el "botón 1" quieres deactivar el "boton2"; el comando en el método "click" del "boton1" sería:
THISFORM.BOTON2.ENABLED=.F.
Ahora bien, porque se usa THISFORM y no escribes directamente BOTON2. ENABLED=. ¿F.?. Justamente, por el hecho de que el "boton1" no conoce los eventos del "boton2", por eso es que el hijo (BOTON1) debe dar la orden al padre (THISFORM), para que este de la orden al otro hijo (BOTON2).
Ahora suponte que "boton1" y "boton2" esten en distintos formularios, por lo tanto tendran distintos padres (FORM1 y FORM2), entonces deberias desde el "boton1" dar la orden al padre (FORM1), el cual debe dar la orden al otro formulario (FORM2), el cual debe dar la orden al "boton2". Es aqui donde esta el problema; ya que el FORM1 no conoce los eventos ni los objetos contenidos en el FORM2.
Terminando con la teoría... lo ideal sería usar un FORM SET en el cual tendrías los 2 formularios (FORM1 y FORM2). De esta forma el "boton1" da la orden al "form1" el cual da la orden al FORM SET el cual da la orden al "form2" el cual da la orden al "boton2".
El comando en el "click" del boton1 seria el siguiente:
THISFORM.FORM1.BOTON1.ENABLED=.F.
----------- OOo -----------
Otra opción es tener dos formularios cada uno con sus botones; por otro lado, definir variables publicas del tipo "logico", entonces, en el evento "click" del "boton1" escribes:
_HABILITAR_BOTON2=.F.
y en el evento "init" del formulario FORM2, escribes:
IF _HABILITAR_BOTON2
THISFORM.BOTON2.ENABLED=.T.
ELSE
THISFORM.BOTON2.ENABLED=.F.
Endif
THISFORM. REFRESH
Espero me hayas entendido. Cualquier duda te comunicas conmigo, ¿ok?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas