Thema: Delphi Menü selber zeichnen

Einzelnen Beitrag anzeigen

Lollipop

Registriert seit: 12. Feb 2003
5 Beiträge
 
#7

Re: Menü selber zeichnen

  Alt 21. Mai 2004, 08:36
Hallo Robert,

nene. Jeden Eintrag per Hand zuzuweisen, wäre mir auch zu aufwändig gewesen. Im Prinzip verfolgen wir ja beide die gleiche Idee - ich hatte es nun noch vom Form gelöst. Die erste Methode ist öffentlich und arbeitet sich ein beliebiges Menü. Die zweite Methode ist im 'private'-Abschnitt meiner Klasse deklariert und verrichtet die eigentliche 'Drecksarbeit'.


Delphi-Quellcode:
Procedure t_MenuPainter.AttachToMenu( aMenu : TMenu );
var mIndex : Integer;
Begin
  aMenu.OwnerDraw:= TRUE;

  For mIndex:= 0 To aMenu.Items.Count-1 Do
    AttachToMenuItem( aMenu.Items.Items[mIndex] );
End;

Procedure t_MenuPainter.AttachToMenuItem( aMenuItem : TMenuItem );
var mIndex : Integer;
Begin
  aMenuItem.OnMeasureItem:= doMeasureItem;
  aMenuItem.OnAdvancedDrawItem:= doAdvancedPaint;

  For mIndex:= 0 To aMenuItem.Count-1 Do
    AttachToMenuItem( aMenuItem.Items[mIndex] );
End;


Lolli -->
  Mit Zitat antworten Zitat