Página 1 de 1
show o showmodal
Publicado: Sab Mar 05, 2005 11:15 pm
por Francisco Sanchez
Vamos a ver quisiera abrir los formularios de los apartados, que no los de
edicion de datos, que no fuesen modales, y controlar si han cerrado este
formulario bien pulsando sobre el boton de cierre - x arriba a la derecha
en la barra de titulo - o bien pulsando sobre la opcion correspondiente del
menu o sobre el toolbutton correspondiente, pero esto con showmodal es facil
= nOpcion := ShowModal() pero con Show() es igual ?
Atentamente : Francisco Sanchez GERENTE GRUPO ST - Software TOTAL -
show o showmodal
Publicado: Sab Mar 05, 2005 11:28 pm
por jfgimenez
Paco,
> Vamos a ver quisiera abrir los formularios de los apartados, que no los de
> edicion de datos, que no fuesen modales, y controlar si han cerrado este
> formulario bien pulsando sobre el boton de cierre - x arriba a la derecha
> en la barra de titulo - o bien pulsando sobre la opcion correspondiente
> del menu o sobre el toolbutton correspondiente, pero esto con showmodal es
> facil = nOpcion := ShowModal() pero con Show() es igual ?
Lo normal sería que controles cada una de las posibilidades de cerrar el
formulario. P.ej. supongamos que puedes cerrarlo con un botón de "Cerrar",
con un botón con imagen de una puerta en la toolbar, y con la X de la barra
de título. En ese caso, podrías poner en el código del botón "Cerrar" y en
el del botón de la toolbar algo que te identifique que se han pulsado, y en
el evento OnClose puedes comprobar ese valor. Vamos a concretar el ejemplo:
En la declaración de la case:
...
DATA nSalir INIT 0
...
Los eventos de los botones:
::oButton1:OnClick := {|| ::nSalir := 1, ::Close() }
::oToolbar1:aButtons[10]:OnClick := {|| ::nSalir := 2, ::Close() }
Y en el evento OnClose del formulario:
METHOD FormClose( oSender, lClose ) CLASS TForm1
IF ::nSalir == 1
// Han pulsado el botón "Cerrar"
ELSEIF ::nSalir == 2
// Han pulsado el botón de la toolbar
ELSE
// Han pulsado la X o Alt + F4
ENDIF
RETURN Nil
--
Un saludo,
José F. Giménez