mit folgendem Code erstelle ich zur laufzeit ein Popupmenu mit Untermenu'
Delphi-Quellcode:
procedure TForm1.ErzeugeSubMenu(Sender :TObject);
var
Item,
subItem : TMenuItem;
SL : TStringlist;
x,
i : Integer;
begin
XPMenu1.Active:= False;
PopupMenu1.Items.clear;
for x:= 0 to 4 do
begin
SL:= TStringList.Create;
try
Item:=TMenuItem.Create(PopUpMenu1);
with Item do
begin
Caption:= IntToStr(x + 2) +' Stunden';
tag:= x;
OnClick:= Sagmirwerdubist;
SL.AddStrings(fkt_CalcWorkTime((x+2)*5));
for i:= 0 to SL.Count-1 do
begin
SubItem:=TMenuItem.Create(Item);
with SubItem do
begin
Caption:= SL.Strings[i];
OnClick:= MyPopUpClick;
end;
Item.Add(SubItem);
end;
PopUpMenu1.Items.Add(Item);
end;
finally;
SL.Free;
end;
end;
XPMenu1.Active:=true;
end;
in der zeile
OnClick:= Sagmirwerdubist;
will ich erfahren, welcher item gedrückt wurde . nun hat aber jeder item submenu's und ich kann dadurch das
onclick ereignis nicht auswerten.
sobald ich mich, mit der mouse uber eine item befinde, wird das ereignis ausgelöst.
frage
1. warum ist das so?
2. was gibt es für möglichkeiten der abhilfe?
danke
raik