Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Formulario que pierde el foco en tranparente (https://www.clubdelphi.com/foros/showthread.php?t=16294)

Cabanyaler 23-11-2004 13:19:07

Formulario que pierde el foco en tranparente
 
Hola, quisiera poner el formulario que pierde el foco en tranparente.

Esto lo hago con :

Código Delphi [-]
    FPrincipal.AlphaBlend := true;
    FPrincipal.AlphaBlendValue := 155;

...pero lo quiero hacer cuando paso el foco a otro form y si hago:
Código Delphi [-]
    FPrincipal.AlphaBlend := true;
    FPrincipal.AlphaBlendValue := 155;
    FSecundario.showmodal;

no me cambia, bueno si cambia pero al hacer el showmodal del secundario se me pone como si estuviese:

FPrincipal.AlphaBlend := false;
FPrincipal.AlphaBlendValue := 255;

¿Como o en que evento puedo hacer eso para tener el form secundario totalmente opaco y el principal semitranslucido?

Gracias.

roman 23-11-2004 16:22:36

Cita:

Empezado por Cabanyaler
Código Delphi [-]
    FPrincipal.AlphaBlend := true;
    FPrincipal.AlphaBlendValue := 155;
    FSecundario.showmodal;


¿Desde dónde ejecutas este código? Yo acabo de probarlo abriendo el formulario secundario desde un botón en el formulario principal y funciona bien.

Por cierto, me gustó esta idea tuya :)

// Saludos

Cabanyaler 23-11-2004 17:02:37

... si gracias, lo ejecuto desde una opción de menú perteneciente al From principal (el que quiero "transparentar"). Justo la opción del menú que me abrirá el from secundario. Y creeme, si en la opción incluyo las dos primeras líneas referentes a la transparencia, el form se cambia pero si incluyo la tercera línea referente a la visualización del form secundario, no me hace caso.
Estoy mirando si tienen que ver con los form tipo MDI, en cuanto al atribuyto Parent, etc, pero parece no ser eso.

Por cierto, acabo de probar lo que me dices haber probado mediante un botón en el principal, cambiando la transparencia y visualizando el secundario, y... no me funciona tampoco. :(

Gracias.

Cabanyaler 23-11-2004 17:17:48

... Ya está.
Creo que me estaba equivocando, pero sólo lo creo, poniendo la propiedad AlphaBlend a False cuando tocaba ser True.
Ahora con el siguiente código en el evento Activate del secundario me sale perfectamente.
Gracias por todo.

Código Delphi [-]
procedure TFInstaladores.FormActivate(Sender: TObject);
begin
   // Pongo semitransparaente el form desactivado
   FPrincipal.AlphaBlendValue := 155;
   FPrincipal.AlphaBlend      := True;
end;

Y para ponerlo en activo al salir del secundario y volver al principal...
Código Delphi [-]
procedure TFInstaladores.BitBtnCerrarClick(Sender: TObject);
begin
// Pongo semitransparaente el fom desactivo
   FPrincipal.AlphaBlend      := False;
   FPrincipal.AlphaBlendValue := 255;
   FInstaladores.Close;
end;


La franja horaria es GMT +2. Ahora son las 19:27:12.

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