Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Farbe eine PopUpMenu ändern

  Alt 25. Nov 2005, 23:25
Hi,
ich kann dir zwar nur sehr bedingt helfen, aber vielleicht reicht es ja als Anstoss in die Richtige Richtung.
Setz einfach im PopUp-Menü OwnerDraw auf True. Nun kannst du für alle Einträge des PopUp-Menüs, die du färben möchtest einfach das OnDraw-Ereignis mit Code füllen und hier natürlich auch färben.
Sehr einfaches Beispiel:

Delphi-Quellcode:
procedure TForm1.Blubb1DrawItem(Sender: TObject; ACanvas: TCanvas;
  ARect: TRect; Selected: Boolean);
begin
  ACanvas.Brush.Color := clRed;
  ACanvas.FillRect(ARect);
  ACanvas.TextOut(ARect.Left + 2, ARect.Top + 2, 'TEST');
end;
Würde dir jetzt einen roten Eintrag erzeugen, auf dem Test (sehr schlecht eingerückt) steht. Das genaue einrücken vom Text kannst du natürlich durch TextWidth und TextHeight (Methoden vom Canvas) und berechnen der Mittelpunkte o.ä. erreichen. Weiß ja nicht ob die Links oder Rechtsbündig oder Zentriert angezeigt werden sollen. Na ja, dass bekommst du dann schon hin.

Hoffe es hilft schon mal
Gruß Der Unwissende
  Mit Zitat antworten Zitat