在 delphi 中查找子菜单项的父级
Find parent of the submenu items in delphi
我想在单击子菜单项时找出父项。例如在下图中,当我点击 L3B 时,结果应该是 "L1/L2/L3B".
您可以使用递归函数来获取菜单的完整路径。
function Form1.GetMenuPath(Menu: TMenuItem): String;
begin
if (Menu.Parent <> nil) and (Menu.Parent.ClassType = TMenuItem) then
Result := GetMenuPath(TMenuItem(Menu.Parent));
if Result <> '' then
Result := Result + ' > ';
Result := Result + Menu.Caption;
end;
在您的 MenuItemClick 中调用函数
procedure Form1.L3B1Click(Sender: TObject);
begin
ShowMessage(GetMenuPath(TMenuItem(Sender)));
end;
我想在单击子菜单项时找出父项。例如在下图中,当我点击 L3B 时,结果应该是 "L1/L2/L3B".
您可以使用递归函数来获取菜单的完整路径。
function Form1.GetMenuPath(Menu: TMenuItem): String;
begin
if (Menu.Parent <> nil) and (Menu.Parent.ClassType = TMenuItem) then
Result := GetMenuPath(TMenuItem(Menu.Parent));
if Result <> '' then
Result := Result + ' > ';
Result := Result + Menu.Caption;
end;
在您的 MenuItemClick 中调用函数
procedure Form1.L3B1Click(Sender: TObject);
begin
ShowMessage(GetMenuPath(TMenuItem(Sender)));
end;