Pruhledny obrazek – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pruhledny obrazek – Delphi – Fórum – Programujte.comPruhledny obrazek – Delphi – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
dyžon0
Stálý člen
8. 6. 2012   #1
-
0
-

Zdravim,

mam Form1 , jeho property TransparentColor jsem nastavil na True, do vlastnosti OnShow jsem pridal proceduru na zpruhledneni :

 procedure TForm1.Pruhledny;
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;

tohle funguje krasne, formular se zpruhledni,ale kdyz do Form1 vlozim komponentu Image a do jeji property Picture nahraju .bmp soubor s bilym pozadim, na kterym jsou tri obdelniky:

a property TransparentColor nastavim na True, tak se mi objevi,jako ze je pruhledny:

ale kdyz spustim aplikaci, tak je pod nim sedej podklad:

nevite nekdo, jak to vyresit ??

diky za odpoved.

Nahlásit jako SPAM
IP: 89.102.38.–
Řešení
liborb
~ Redaktor
+18
Guru
8. 6. 2012   #2
-
0
-
Vyřešeno Nejlepší odpověď

Když zvolíš TransparentColor na true, tak ještě musíš vhodně zvolit TransparentColorValue. Pokud chceš mít průhledný Form a na něm Image s obrázkem, tak všechno, co má být průhledné nastav na stejnou barvu a vyber si nějakou, co se moc jinde nepoužije (typicky Purple). Takže nastavením TransparentColor na true, TransparentColorValue na clPurple, nastavení Transparent u Image na true a změnou pozadí na obrázku, které má být průhledné, na Purple (RGB(255, 0, 255)) dostaneš to, co si chtěl i bez procedury na zprůhlednění v OnShow.

Nahlásit jako SPAM
IP: 78.80.52.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

Průhledný obrázek — založil hráč

Obrázek — založil Driver

Obrázek — založil šachy

Obrázek — založil honzik242

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý