SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: Devilcpc en Sábado 29 de Mayo de 2004, 19:46

Título: Como Hacer Q No Se Pueda Cerrar Un Formulario
Publicado por: Devilcpc en Sábado 29 de Mayo de 2004, 19:46
Buenas, hablo desde argentina, recien estoy entrando en este asombroso mundo de builder...

estoy haciendo un programita en builder 6 y necesito que uno de los formularios tenga bloqueada la opcion de cerrar, pero habilitada la de maximizar y minimizar, si alguien me puede ayudar se lo agradeceria mucho..

saludos  :hola:

Adrian  :lightsabre:
Título: Re: Como Hacer Q No Se Pueda Cerrar Un Formulario
Publicado por: ErickCerPa en Domingo 30 de Mayo de 2004, 17:03
:comp: Si quieres que no se cierre un formulario; es sencillo, solo en el evento OnClose del formulario tienes que poner una linea para que no se cierre y otra para que si se cierre, es decir: una condicion aqui te va un ejemplo:

Código: Text
  1. void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
  2. {
  3.     if (Alguna_Variable == No_Se_Puede_Cerrar_El_Formulario)
  4.       Action=caNone;
  5.     else //si se puede cerrar el formilario
  6.       Action=caFree;
  7.  
  8.    // si solo pones:
  9.    //Action=caNone
  10.    //entonces nunca se cerraria tu formulario
  11. }
  12.  

Suerte espero te sea util

Bytes :hola:
Título: Re: Como Hacer Q No Se Pueda Cerrar Un Formulario
Publicado por: Devilcpc en Domingo 30 de Mayo de 2004, 17:15
Muchas gracias por la respuesta, me sirvio para lo que tenia q hacer

Adrios  :hola:

Adrian
Título: Re: Como Hacer Q No Se Pueda Cerrar Un Formulario
Publicado por: Zholo en Lunes 31 de Mayo de 2004, 03:22
Hola

Prueba este codigo, desabilita el cerrar del form aunque igual deja funcionando el alt + F4.

 
Citar
HMENU hMenu = GetSystemMenu(this->Handle, FALSE);
  EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND | MF_GRAYED);
  DrawMenuBar(this->Handle);
Título: Re: Como Hacer Q No Se Pueda Cerrar Un Formulario
Publicado por: © Jonathan © en Lunes 31 de Mayo de 2004, 15:51
Veo que solucionaste tu problema... pero por las dudas... cada ves que quieras deshabilitar un boton, ya sea el de minimizar, maximizar o el de cerrar, lo puedes hacer haciendo click en tu formulario y dentro del inspector hacerle click al signo de + que aparece donde dice BorderIcons, se abrira un menu que tiene dentro y ahi te deja elegir que boton habilitar y cual no. Saludos :hola:
Título: Re: Como Hacer Q No Se Pueda Cerrar Un Formulario
Publicado por: _Viktor en Lunes 31 de Mayo de 2004, 23:20
Aqui tienes otra alternativa que puedes modificar para tu problema:

Código: Text
  1. void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
  2. {
  3.  if( Application->MessageBox("Desea cerrar?", "Mensaje", MB_ICONWARNING + MB_OKCANCEL)== ID_OK)
  4.     CanClose = true;
  5.  else
  6.     CanClose =false;
  7. }
  8.  

Saludos!
Título: Re: Como Hacer Q No Se Pueda Cerrar Un Formulario
Publicado por: The Black Boy en Martes 1 de Junio de 2004, 00:20
la respuesta de jonathan es la que yo utilizo

Saludos
Título: Re: Como Hacer Q No Se Pueda Cerrar Un Formulario
Publicado por: Devilcpc en Martes 1 de Junio de 2004, 00:37
Muchas gracias a todos los q respondieron

ya me voy a poner a probar con todas y despues les digp cual fue la mas efectiva

gracias