AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TVirtualImageList und ImageList_DrawEx

Ein Thema von anse · begonnen am 30. Mai 2020 · letzter Beitrag vom 16. Nov 2020
 
Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
198 Beiträge
 
Delphi 11 Alexandria
 
#1

TVirtualImageList und ImageList_DrawEx

  Alt 30. Mai 2020, 14:21
Hallo,

die noch relativ neue TVirtualImageList habe ich als Ersatz für die gute alte TImageList verwendet. Seitdem zeichnet eine VirtualTree Instanz aber keine Icons mehr mit dem "Ghosted" Style, den ich im VirtualTree.OnGetImageIndex event auf True setze. Mit der alten TImageList sah das wie im ersten Screen aus. Im zweiten Screen sieht man dass Ghosted gar keinen Unterschied mehr macht.

VirtualTree malt in beiden Fällen das Icon über Vcl.ImgList.TCustomImageList.DoDraw, welche (wenn ich das richtig verstehe) wiederum die Winapi.CommCtrl.ImageList_DrawEx aufruft. Der Style Parameter enthält bei einem Ghosted Icon die Konstante Winapi.CommCtrl.ILD_BLEND50:

Delphi-Quellcode:
procedure TCustomImageList.DoDraw(Index: Integer; Canvas: TCanvas; X, Y: Integer;
  Style: Cardinal; Enabled: Boolean);
...
begin
  if HandleAllocated then
  begin
    if Enabled then
      ImageList_DrawEx(Handle, Index, Canvas.Handle, X, Y, 0, 0,
        GetRGBColor(BkColor), GetRGBColor(BlendColor), Style)
    else
    begin
      if FGrayscaleFactor <> 0 then
...
Jetzt weiß ich nicht ob das ein Bug in der TVirtualImageList ist, in VirtualTree, oder in der TCustomImageList...

Delphi Version ist die 10.3 - vielleicht gibt es da auch in der v10.4 schon einen Unterschied/Bugfix in der DoDraw-Methode?
Angehängte Grafiken
Dateityp: png 1-timagelist.png (9,6 KB, 17x aufgerufen)
Dateityp: png 2-tvirtualimagelist.png (9,4 KB, 15x aufgerufen)
Ansgar Becker
https://www.heidisql.com
Wenn du loslässt, hast du zwei Hände frei.
  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 15:52 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-2025 by Thomas Breitkreuz