Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Form Icon nach Farben Zeichnen, D5 (https://www.delphipraxis.net/140501-form-icon-nach-farben-zeichnen-d5.html)

Oldy 19. Sep 2009 13:47


Form Icon nach Farben Zeichnen, D5
 
hallo Leute :)
Ich habe ein Programm, das dem user freistellt, 2 Farben zu wählen, nach denen sich ein Farbverlauf auf 2 Panels richtet (TAdvPanel von TMS). Nun möchte ich, dass sich das Icon je nach Farbe Ändert. Es besteht aus einem T und einem Ü. wenn ich nun die Farben Rot und Gelb auswähle, sollte das T Rot und das Ü Gelb werden. Da der User seine Farben aber selbst definieren kann (TjvColorButton, Jedis), kann ich schlecht vordefinierte Icons in die Resource Packen. Da es ja 2x 255³ (eigendlich 255 hoch 6 aber ich bin grad zu faul die zu suchen) Möglichkeiten gibt, wäre das Programm ja dadurch sehr (seeehr) viel größer.

Gibts da eine Möglichkeit das selbst zu zeichnen?


Danke schonmal
Mfg
Oldy

Oldy 28. Sep 2009 19:26

Re: Form Icon nach Farben Zeichnen, D5
 
*Push*

turboPASCAL 28. Sep 2009 19:40

Re: Form Icon nach Farben Zeichnen, D5
 
Nimm dir doch ein Label. Dann kannst du dir die Farbe einstellen. ;)

Zitat:

Gibts da eine Möglichkeit das selbst zu zeichnen?
Jo, viele. Aber keine einfachen.

ein Beispiel:
http://www.delphipraxis.net/internal...=204144#204144

DeddyH 28. Sep 2009 19:55

Re: Form Icon nach Farben Zeichnen, D5
 
Oder (nur schnell dahergetippt)
Delphi-Quellcode:
var tmpBMP: TBitmap;
begin
  tmpBMP := TBitmap.Create;
  try
    tmpBMP.Width := Icon.Width;
    tmpBMP.Height := Icon.Height;
    tmpBMP.Canvas.Brush.Color := clRed;
    tmpBMP.Canvas.FillRect(Rect(0,0,tmpBMP.Width,tmpBMP.Height));
    with TImageList.CreateSize(tmpBMP.Width, tmpBMP.Height) do
      try
        Add(tmpBMP,nil);
        GetIcon(0,Icon);
     finally
        Free;
      end;
  finally
    tmpBMP.Free;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz