
[RESUELTO] Poner aviso al cerrar un formulario
#1
Posted 22 November 2011 - 10:48 PM
#2
Posted 23 November 2011 - 02:37 AM
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:= caNone; if MessageBox(Handle, 'Cerrar', '¿Desea cerrar?', MB_YESNO + MB_ICONEXCLAMATION) = ID_YES then Action:= caFree; end;
Saludos.
#3
Posted 23 November 2011 - 06:59 AM
#4
Posted 23 November 2011 - 07:08 AM
okay como hago un formulario no autocreado, creo que eso esta en proyect opciones form, me gustaria haber un ejemplo de como hacerlo. para no morir en el intento. jjejejeje pro favor?
Saludos.
@amell2020, si con la respuesta de Escafandra pudiste resolver tu inquietud; lo ideal es que marques este hilo como RESUELTO y abras otro hilo con esta pregunta.
#5
Posted 23 November 2011 - 07:24 AM
Deberás diseñar ese formulario como no autocreado y poner este código de ejemplo en el evento OnClose:
delphi
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:= caNone; if MessageBox(Handle, 'Cerrar', '¿Desea cerrar?', MB_YESNO + MB_ICONEXCLAMATION) = ID_YES then Action:= caFree; end;
Saludos.
Y si usas el evento OnCloseQuery, lo ejecuta ANTES que el OnClose...
#6
Posted 23 November 2011 - 09:19 AM
#7
Posted 23 November 2011 - 10:52 AM
Si una vez cerrado tu formulario lo quieres volver a abris en otra ocasión futura deberás diseñarlo como no autocreable:
Project Options -> Pestaña Forms -> Mándalo a available Forms
Para crearlo y visualizarlo:
var Form2: TForm2; begin Form2:= TForm2.Create(self); Form2.Show; end;
Espero que con esto queden aclaradas todas tus dudas.
Saludos.
#8
Posted 23 November 2011 - 12:47 PM
#9
Posted 23 November 2011 - 12:54 PM
si entiendo, pero donde van esas variable dentro de que?
Ese es el código que necesitas para crear un formulario desde otro. Lo pones donde quieres, en un menú, botón o click... donde te haga falta.
Además, ese formulario tendrá en su evento OnClose el código que tye expuse mas arriba, para decidir si se cierra o no.
Saludos.
#10
Posted 23 November 2011 - 01:08 PM
#11
Posted 23 November 2011 - 01:16 PM