AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi ImageList Overlay Button
Thema durchsuchen
Ansicht
Themen-Optionen

ImageList Overlay Button

Ein Thema von Oliver1983 · begonnen am 2. Sep 2011 · letzter Beitrag vom 10. Dez 2014
 
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: ImageList Overlay Button

  Alt 10. Dez 2014, 13:34
Ich hatte das Problem auch längere Zeit, dass bei dem erzeugten Overlay-Icon die Transparenz fehlte.
Nach ein paar weiteren Versuchen habe ich eine Lösung gefunden, die für mich funktioniert und ein transparentes Overlay-Icon in der Traybar anzeigt: der temporäre Bitmap-Canvas muss zuerst mit einem psClear-Style übermalt werden.

Delphi-Quellcode:
procedure TForm1.CreateOverlayTrayIcon(iBasis, iOverlay: Integer);
var
  aBitmap: TBitMap;
  OverlayIndex: Integer;
begin
  aBitmap := TBitMap.Create;
  try
    //Temp. Bitmap transparent bemalen
    aBitmap.Width := ilOverlayIcons.Width;
    aBitmap.Height := ilOverlayIcons.Height;
    aBitmap.Canvas.Pen.Style := psClear;
    aBitmap.Canvas.Rectangle(0, 0, aBitmap.Width+1, aBitmap.Height+1);

    //Basis und Overlay auf Bitmap zeichnen
    OverlayIndex := 0;
    ilOverlayIcons.Overlay(iOverlay, OverlayIndex);
    ilOverlayIcons.DrawOverlay(aBitmap.Canvas, 0, 0, iBasis, OverlayIndex, True);

    //Bitmap zu Imageliste hinzufügen
    ilTrayIcon.Clear;
    ilTrayIcon.Add(aBitmap, nil);

    //Image in TrayIcon neu zeichnen
    TrayIcon1.IconIndex := -1;
    TrayIcon1.IconIndex := 0;
  finally
    aBitmap.Free;
  end;
end;
Stefan
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz