Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Ocultar Form fsmdi Child (https://www.clubdelphi.com/foros/showthread.php?t=71750)

verito_83mdq 08-01-2011 00:07:57

Ocultar Form fsmdi Child
 
Buenas Tardes, disculpen la molestia. Les paso a explicar lo que me sucede.
El sistema tiene una ventana pricipal fsmdi y varias fsmdi child. Lo que yo quiero hacer es ocultar algunos form child
Ej: busco un cliente y una vez q lo encuentro pongo ver datos y se me abre otro fschild lo que yo quiero es que el buscado se oculte y cuando cierro el form del cliente se vuelva a abrir. Yo esto lo hacia jugando con el evento visible:=true/false cuando los form era fsnormal pero al hacerlo child el evento visible no anda. Alguna suferencia?? Me explique bien??
Desde ya muchas gracias!

Aleca 08-01-2011 00:29:13

si mal no recuerdo con Form1.Show la hacia visible de nuevo.

Saludos :)

verito_83mdq 08-01-2011 01:03:09

Gracias por responder!! Te cuento que todavía estoy en quererla ocultar no llegue al proceso de hacerla visible.
Cuando le pongo BuscarForm.visible:=false; me tira el siguiente error:
Cannot hide an MDI Child Form'. Process stopped.
No se como se haria entonces para ocultar, tampoco me serviria destruirla y volverla a crear porque perderia info.
Seguro que a muchos ya les paso, espero que me puedan ayudar!

Aleca 08-01-2011 01:08:06

:)cuando la creas ya se hace visible.

verito_83mdq 08-01-2011 01:15:26

Gracias por responder!! Pero....
No me explique bien me parece, lastima que no puedo subir imagenes.
El form buscar se crea lo mas bien es fsmdi child, ahora cuando encuentro al cliente seleccione ver datos y el formulario buscar se tendria que ocultar y tendria que aparece el form con lo datos. Osea tengo el form principal (padre), despues el form buscar (hijo) y el form datos (nieto) por llamarlo de algun modo. Quedo mas claro ahora?

Aleca 08-01-2011 01:22:10

capaz, hace varios años que deje de usar esos formularios pero recuerdo el form para buscar datos lo hacia fsNormal y lo abria con showmodal de esa forma te evitas ese problema.

Saludos:)

verito_83mdq 08-01-2011 01:27:41

Vos sabes que me esta dando muchos problemas trabajar con mdi parent y child, yo los form los tenia a todos en fsnormal el problema que tenia es que al hacer click fuera del formulario perdía el foco se cerraba el form y perdía lo que estaba haciendo, esto lo solucione con mdi pero me trajo otros problemas, porque en si la aplicación es para tener solamente un formulario abierto a la vez. Alguna sugerencia? Gracias!

Caral 08-01-2011 01:38:39

Hola
El form que nace no puede ser ocultado por el que lo creo, sea padre o hijo.
Al hacerlo visible o no se puede tener este problema.
Yo no usaria forms Hijos si no es necesario, suelen dar problemillas de este tipo.
No me gusta complicarme la vida.
Saludos

Aleca 08-01-2011 01:56:55

ahora hago esto.. todos form normales y los muestro con show, en cada form puse lo sig.:
Código Delphi [-]
  ...
  private
    { Private declarations }
    procedure CreateParams(var Params: TCreateParams); Override;
....
 
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
end;
...
esto me pone el form en la barra de windows.:)

Aleca 08-01-2011 01:57:28

Cita:

Empezado por Caral (Mensaje 386981)
Hola
El form que nace no puede ser ocultado por el que lo creo, sea padre o hijo.
Al hacerlo visible o no se puede tener este problema.
Yo no usaria forms Hijos si no es necesario, suelen dar problemillas de este tipo.
No me gusta complicarme la vida.
Saludos

de acuerdo...:D

verito_83mdq 08-01-2011 02:51:01

Bueno muchachos,nada de Mdi form hijos sigo trabajando con form normal, me dio bastantes problemas me complique pensando que era mejor de la otra manera pero veo que no se justifica trabajar con MDI en mi aplicación. Gracias Caral y Aleca por prestarme su ayuda!!!
Saludos!!

Caral 08-01-2011 03:45:54

Hola
Hay trucos sencillos para que no se vean ciertos forms en ciertos momentos, como por ejemplo hacerlos translucidos, casi transparentes.
Otra forma es minimizarlos, sacarlos de la pantalla, etc., etc.
No quiero que tomen mi opinion a pecho, simplemente sera que como no se manejar bien esto de los hijos trato de no complicarme y hacer el programa lo mas sencillo posible, teniendo en cuenta el famoso mantenimiento que tarde o temprano le toca a uno hacer, entonces mientras mas claro y sencillo sea el programa........
Saludos


La franja horaria es GMT +2. Ahora son las 23:50:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi