FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Cierre de un DIALOG
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Cierre de un DIALOG
Posted: Tue Nov 12, 2013 08:42 AM

Hola foreros.

C贸mo puedo saber si un dialog se ha cerrado pulsando el botoncito rojo con la cruz de la ezquina supeior derecha. Es que necesito saber si el dialogo se cerr贸 desde ese bot贸n de sistema para diversas acciones 'bLostFocus' de algunos controles.

Gracias

Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Cierre de un DIALOG
Posted: Tue Nov 12, 2013 10:26 AM

Bueno ya he averiguado que cuando pulsamos el botoncito rojo de la cruz, el sistema manda el mensaje SC_CLOSE, v铆a DefWindowProc(), a la ventana que se va a cerrar.

Ahora tengo que averiguar como capturar ese mensaje en tiempo de ejecuci贸n.

驴Alguna pista?

Gracias

Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Cierre de un DIALOG
Posted: Tue Nov 12, 2013 10:44 AM
Se ma he ocurrido que se podr铆a a帽adir un DATA a TWindow que capturase el 脷ltimo comando de SysCommand. Ser铆a muy util para saber muchas cosas sobre el flujo del programa. Por ejemplo: si se va a jecutar el salvapantallaS, si se ha desplazado el contenidO de una ventana con el scroll, si se va a restaurar el tama帽o de la ventana si se va a cambiar de tama帽o, etc...

Por ejemplo:
Code (fw): Select all Collapse
DATA 聽 nLastSys 聽 AS NUMERIC 聽INIT 0
...
...

METHOD SysCommand( nWParam, nLParam )
聽 聽local bKeyAction, i

聽 聽::nLastSys := nWParam聽 聽...
聽 聽...

return nil
Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Cierre de un DIALOG
Posted: Tue Nov 12, 2013 07:54 PM

Considero que es menos problemas y control quitar esa opcion de cerrar el dialogo al igual que con la tecla ESC, asi se educa a los usuarios a usar las opciones de los sistemas, botones, menu, etc...solo mi opinion...saludos... :shock:

Dios no est谩 muerto...



Gracias a mi Dios ante todo!
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Cierre de un DIALOG
Posted: Wed Nov 13, 2013 11:09 AM

Antolin,

Se podria implementar, como muchas m谩s opciones que podrian implementarse, pero si su uso es algo puntual que solo vamos a necesitar ocasionalmente, es preferible modificar la clase, como has hecho.

Siempre he querido evitar que FiveWin crezca innecesariamente a base de ir implementandole m谩s y m谩s opciones. No es que tu opci贸n no sea necesaria, pero si solo lo necesita un usuario, podemos aguardar. Comento esto en publico para que entendais que criterio sigo para a帽adir nuevas funcionalidades :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Cierre de un DIALOG
Posted: Wed Nov 13, 2013 11:17 AM
Antonio Linares wrote:
Se podria implementar, como muchas m谩s opciones que podrian implementarse, pero si su uso es algo puntual que solo vamos a necesitar ocasionalmente, es preferible modificar la clase, como has hecho.

Siempre he querido evitar que FiveWin crezca innecesariamente a base de ir implementandole m谩s y m谩s opciones. No es que tu opci贸n no sea necesaria, pero si solo lo necesita un usuario, podemos aguardar. Comento esto en publico para que entendais que criterio sigo para a帽adir nuevas funcionalidades :-)


Antonio,

Totalmente de acuerdo. Cuando yo tuve la necesidad de controlar la salida via el boton X, o de sus "hermanos" Alt-F4 o boton derecho raton sobre caption y cerrar fue suficiente con diferenciar de las salidas con los botones DE USUARIO Ok y Cancel. Ejemplo, si sale con Ok, valor de salida es 1, si con Cancel valor de salida es 2, resto de salidas valor de salida es Cero. Luego si el valor de salida es Cero es que se salio con las salidas del sistema, que pueden asumirse como hermanas e iguales.

Salvo que se quiera disintiguir entre salida boton X o la de sus hermanos Alt-F4 o boton derecho raton sobre caption y cerrar, el resto de casos esta recogido sin modificar absolutamente nada.

Un saludo.
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Cierre de un DIALOG
Posted: Thu Nov 14, 2013 12:43 PM

Tienes raz贸n Antonio, no es necesario hacer crecer FiveWin con casos puntuales como el m铆o. Y es verdad hmpaquito, yo tambien suelo controlar la salida con diferentes botones, pero en este caso se trataba de un dialogo NOMODAL que cierro al pinchar fuera de 茅l (no sin botones) y necesitaba saber si se hab铆a cerrado de forma normal o con el boton X, pues estaba barajando la opci贸n de definirle un estilo sin WM_SYSMENU, pero decid铆 dejarlo y as铆 utilizar el boton X como opcion CANCELAR y no guardar, y pinchar fuera como opci贸n GUARDAR. De todos modos, ALT+F4 siempre funciona independientemente del estilo del dialogo y ese s铆 era un problema.

Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55

Continue the discussion