Ich weiss nicht, der gezeigte Code scheint mir ziemlich unsauber zu sein.
Wozu TObjectList ins Spiel bringen, wenn doch TMenuItem ausreicht ?
Die Klasse TMenuItem bildet eine hierarchische Struktur ab.
Man muss das System aber erst mal verstanden haben. siehe:
Tiefensuche
Delphi-Quellcode:
function Find(Item: TMenuItem; mhandle: HMENU): TMenuItem;
var
i: Integer;
begin
if item.Handle = mhandle then
begin
Result := Item;
end
else
begin
for i := 0 to Items.Count - 1 do
begin
Result := Find(Item.Items[i], mhandle)
if Assigned(Result) then
Exit;
end;
Result := nil;
end;
end;