Thema: Delphi ImageList Overlay Button

Einzelnen Beitrag anzeigen

Oliver1983

Registriert seit: 8. Mär 2006
Ort: Hamburg
43 Beiträge
 
Delphi XE Starter
 
#1

ImageList Overlay Button

  Alt 2. Sep 2011, 09:22
Hi,

habe nun viel gesucht und gefunden (hier sowie bei Google) aber es klappt alles nicht!!!

Wie kann ich mit Imagelist zwei Icons übereinander legen und dieses dann im Button anzeigen lassen?

Soweit so gut siehe Code, aber leider wird die Transparenz von den Icons nicht beibehalten!
Nur wenn ich ImageList1_icon_64.GetIcon verwende bleibt die Transparenz erhalten, aber da gibt es kein Overlay!

Das ganze soll nachher im Button und im PopupMenü angezeigt werden, mit dem Popupmenü klappt schon aber auch dort keine Transparenz!

Vllt. kann mir jmd dabei Helfen

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  abitmap:TBitMap;
  OverlayIndex: Integer;
  OverlayBildIdx: Integer;
begin
  abitmap:=TBitMap.Create;
  try
    abitmap.Width:=ImageList1_icon_64.Width;
    abitmap.Height:=ImageList1_icon_64.Height;

// abitmap.PixelFormat := pf32Bit;
// abitmap.TransparentMode := tmauto;
// abitmap.Transparent := true;
// abitmap.TransparentColor := clnone;


    OverlayIndex := 0;
    OverlayBildIdx := 1;

    ImageList1_icon_64.Overlay(OverlayBildIdx, OverlayIndex);
    ImageList1_icon_64.DrawOverlay(aBitMap.Canvas,0,0,0,0,true);

    PopupMenu1.Items.Items[0].ImageIndex:=-1;
    PopupMenu1.Items.Items[0].Bitmap:=aBitMap;

    imagelist1_icon_64.Add(abitmap, aBitMap);


    PopupMenu1.Items.Items[0].ImageIndex:=-1;
    PopupMenu1.Items.Items[0].Bitmap:=aBitMap;


    JvImageListViewer1.Images := ImageList1_icon_64;
  finally
    abitmap.Free;
  end;
end;
Oliver
  Mit Zitat antworten Zitat