Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.532 Beiträge
 
Delphi 11 Alexandria
 
#240

AW: Pascal Project Manager & Editor

  Alt 19. Mär 2023, 17:22
Der gezeigte Code scheint nicht das Problem zu sein. Zumindest nicht in einer VCL-Testanwendung. Könnte es sein das das Malen in eine Bitmap das Problem auslöst?
Ja, das malen ist das Problem.

Mal vereinfach gezeigt, im OndrawItemEvent der Listbox:
Delphi-Quellcode:
  TI.picture.LoadFromStream(msOut);

  bm := TBitmap.Create;
  bm.SetSize(32,32);

  bm.PixelFormat := pf24bit;
  bm.Transparent := True;
  bm.TransparentMode := TTransparentMode.tmfixed;
  bm.TransparentColor := clWhite;
  bm.Canvas.Draw(0,0, TI.Picture.Graphic);

  lb.Canvas.StretchDraw(System.classes.rect (rect.Left+2, rect.top+3, rect.Left+2 + round (24*ScaleFactor), rect.top+3 + round (24*ScaleFactor)), bm);
- bm auf 32 bit zu setzen bringt nichts
- bm.transparentmode auf auto zu setzen bringt auch nichts, da dann zB. vollbunte Icons transparent werden...
  Mit Zitat antworten Zitat