wow super danke, es klappt perfekt, ja mein ansatz war falsch, jetzt schreib ich nach enum... noch meine funktion die den Oberitems andere Proceduren zuweist als den Unteritems ...
Delphi-Quellcode:
constructor TMainMenueDrawObj.Create(AOwner: TMainMenu);
var I, j : Integer;
begin
inherited Create(AOwner);
fMenu := AOwner;
fMenu.OwnerDraw := True;
EnumerateMenuItems(fMenu.Items, EnumMenuItem);
for i := 0 to fMenu.Items.Count -1 do
begin
fMenu.Items[i].OnDrawItem := MenuDraw;
end;