Comment faire une fiche transparente tout en gardant la composante visible?

Comment faire une fiche transparente tout en gardant la composante visible?

J'ai besoin de faire le programme qui ont un formulaire qui contient des image PNG avec transparence. Le formulaire doit être invisible, alors que l'image doit rester visible et transparente de la zone doit rester transparent. Le problème, c'est de la transparence des images. Dans ce cas, le formulaire principal est transparent, invisible, tandis que tous les composants/contrôles reste visible. Mais, la zone transparente de l'image au format PNG permet de ne pas garder la transparence. Comment faire pour garder la transparence?

   procedure MakeTransparent;
   var
   AControl: TControl;
   A, Margin, X, Y, CtlX, CtlY: Integer;
   begin
     Margin    := (Width - ClientWidth) div 2;
     FullRgn   := CreateRectRgn(0, 0, Width, Height);
     X         := Margin;
     Y         := Height - ClientHeight - Margin;
   ClientRgn := CreateRectRgn(X, Y, X + ClientWidth, Y + ClientHeight);
   CombineRgn(FullRgn, FullRgn, ClientRgn, RGN_DIFF);
   for A := 0 to ControlCount - 1 do
   begin
    AControl := Controls[A];
    if (AControl is TWinControl) or (AControl is TGraphicControl) then with        AControl do
   begin
    if Visible then
    begin
      CtlX   := X + Left;
      CtlY   := Y + Top;
      CtlRgn := CreateRectRgn(CtlX, CtlY, CtlX + Width, CtlY + Height);
      CombineRgn(FullRgn, FullRgn, CtlRgn, RGN_OR);
    end;
  end;
  end;
  SetWindowRgn(Handle, FullRgn, True);
  end;



  procedure UndoTransparency;
  begin
   FullRgn := CreateRectRgn(0, 0, Width, Height);
   CombineRgn(FullRgn, FullRgn, FullRgn, RGN_COPY);
   SetWindowRgn(Handle, FullRgn, True);
  end;
Juste un poke 🙂 vous Êtes-vous sûr que l'image était vraiment transparent sur la première capture d'écran ?
100% transparente 🙂
Vous n'êtes pas créer un transparent de forme, vous êtes à la modification de la forme de la forme. Au lieu d'utiliser le formulaire de Color, TransparentColor et TransparentColorValue propriétés et chargement d'un png à une TImage et vous avez terminé!

OriginalL'auteur Srdjan Vukmirica | 2012-04-11