Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Form transparente multimagen (https://www.clubdelphi.com/foros/showthread.php?t=36332)

lag_0 08-10-2006 21:28:56

Form transparente multimagen
 
Buenaaaaaaaaaaaaaas
No encuentro nada ni consigo hacer un formulario transparente que no sea solo con una TImage sino con varias no lo consigo!

A ver si alguien me ayuda!
Graciasssssssssss

seoane 08-10-2006 21:57:35

Antes de nada :confused: ¿que método estas usando?. Lo digo por la diferencia entre una y varias imágenes. De todas formas, existen varias soluciones, una es utilizar las propiedades TransparentColor y TransparentColorValue, pero eso depende de la versión de delphi que uses. Otra solución es usar solo funciones de la API. Básicamente sumamos el rectángulo de cada uno de los TImage en una sola región y la establecemos como la región del formulario.

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
  Rgn1, Rgn2: HRgn;
begin
  BorderStyle:= bsNone;
  Rgn1:= CreateRectRgn(0,0,0,0);
  for i:= 0 to ControlCount - 1 do
    if Controls[i] is TImage then
      with TImage(Controls[i]) do
      begin
        Rgn2:= CreateRectRgnIndirect(BoundsRect);
        CombineRgn(Rgn1,Rgn1,Rgn2,RGN_OR);
        DeleteObject(Rgn2);
      end;
  SetWindowRgn(Handle,Rgn1,TRUE);
  DeleteObject(Rgn1);
end;

lag_0 08-10-2006 22:57:24

no me va ese codigo y las imagenes por defecto cojen otro color como transparente pero luego hago:
Código Delphi [-]
  for TempI := 1 to 3 do begin
     with TImage(FindComponent('Image'+IntToStr(TempI))).Picture.Bitmap do begin
      TransparentColor := clRed;
      TransparentMode := tmFixed;
    end;
  end;

y listo, pero... no consigo adaptar ningún codigo a lo que quiero: que el form sea ivnisible donde las imagenes sean clRed, psea el Transparent Color...
Puedo hacerlo con una pero no con varias... y es que no sé como funcionan los paints.. a ver si me ayudais..

Lepe 09-10-2006 23:08:41

Si "no te va ese código" deberías decir por qué no.

Errores de compilacion
Errores de dibujado
etc

Es decir, explicar un poco más los fallos que te dá.

Saludos

lag_0 09-10-2006 23:44:34

Simplemente no va.
El error es de programación o de utilización, pero no lo consigo hacer funcionar...
A ver si alguien me ayuda por que yo no lo saco :p

lag_0 10-10-2006 00:25:02

LOOOOOOOOOOOOOOL
simplemente no se me ocurrió pasar de tanta mierda y simplemente hacer:
Form1.TransparentColor:=True;
Form1.TransparentCOlor:=clRed;
Form1.Color:=clRed;
(Con las Timage transparentes)

y...
Formulario transparente :D


La franja horaria es GMT +2. Ahora son las 03:42:36.

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