Einzelnen Beitrag anzeigen

bobo220673

Registriert seit: 25. Okt 2005
Ort: Schmon
15 Beiträge
 
Delphi 2005 Architect
 
#1

Transparente BMP mit SetMenuItemBitmaps

  Alt 31. Mär 2008, 10:36
Hallo!
Ich habe ein kleines Problem mit SetMenuItemBitmaps. Es will einfach nicht klappen das die erzeugten Bilder Transparent sind.
Hier mein Code :

Delphi-Quellcode:
procedure TToolbar.ShowSearchMain(var Message: TMessage);
var
  pt: TPOINT;
  rect: TRect;
  hPopup: HMENU;
  BMP: TBitmap;
begin
  SendMessage(hToolbarMain, TB_GETITEMRECT, 3, LPARAM(@Rect));
  pt.x := Rect.Right;
  pt.y := Rect.Bottom - 1;
  Windows.ClientToScreen(hToolbarMain, pt);
  if pt.x < 0 then pt.x := 0;
  begin
    hPopup := CreatePopupMenu;
    bmp := TBitmap.Create;
    bmp.LoadFromResourceID(hinstance, 101);
    bmp.TransparentColor := rgb(255, 0, 255);
    bmp.Transparent := true;
    AppendMenu(hPopup, MF_STRING, IDM_SEARCH1, PChar('SUCHTYPE 1'));
    SetMenuItemBitmaps(hPopUp, 0, MF_BYPOSITION, Bmp.Handle, Bmp.Handle);
    AppendMenu(hPopup, MF_SEPARATOR, 0, '');
    AppendMenu(hPopup, MF_STRING, IDM_SEARCH2, PChar('SUCHTYPE 2'));
    TrackPopupMenu(hPopup, TPM_CENTERALIGN or TPM_LEFTBUTTON,
      pt.x, pt.y, 0, hToolbarMain, nil);
    DestroyMenu(hPopup);
  end;
end;
Habe schon alles versucht auch ein Umstellen auf pf24/32bit. Zum Testen habe ich auch versucht ein TForm mit einer Imagelist zu erstellen, wo ich dann per GetBitmap(0,bmp) auf das Bild zugreife. Aber auch kein Erfolg
Achso... Ich versuche das ganze unter Vista.
Wäre schön wenn mir da jemand weiterhelfen könnte
Jens Lutterklas
  Mit Zitat antworten Zitat