Ver Mensaje Individual
  #1  
Antiguo 08-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 26
seoane Va por buen camino
Antes de nada ¿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;
Responder Con Cita