Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Möglichkeiten von Menüs, bzw. TMenuItem

  Alt 5. Feb 2013, 13:42
Ownerdraw anschalten und gut ist ...

Delphi-Quellcode:
const
 ColorArray:Array[0..7] of TColor=(clRed,clLime,clBlue,clWhite,clMaroon,clGreen,clLime,clSilver);

procedure TForm1.DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean);
begin
   Acanvas.Brush.Color := TMenuItem(sender).Tag;
   Acanvas.FillRect(ARect);
end;

procedure TForm1.FormCreate(Sender: TObject);
Var
 i:Integer;
 mi:TMenuItem;
begin
   for I := 0 to 7 do
      begin
         mi := TMenuItem.Create(PopupMenu1);
         mi.Tag := ColorArray[i];
         mi.OnDrawItem := DrawItem;
         mi.OnClick := ItemClick;
         popupmenu1.Items.Add(mi);
      end;
end;

procedure TForm1.ItemClick(Sender: TObject);
begin
   Color := TMenuItem(Sender).Tag;
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat