- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将整个 TMenuItem 及其子项克隆到另一个 TPopupMenu。这是nice code :
function CloneMenuItem(SourceItem: TMenuItem): TMenuItem;
var
I: Integer;
Begin
with SourceItem do
Begin
Result := NewItem(Caption, Shortcut, Checked, Enabled, OnClick, HelpContext, Name + 'Copy');
for I := 0 To Count - 1 do
Result.Add(CloneMenuItem(Items[I]));
end;
end;
以下工作正常(b1 是带有子菜单的 PopupMenu1.TMenuItem):
PopupMenu2.Items.Add(CloneMenuItem(b1));
问题是,如果 SourceItem 是根项,我无法克隆整个 TPopupMenu。例如:
PopupMenu2.Items.Add(CloneMenuItem(PopupMenu1.Items));
行不通。我只能看到 1 个项目,就好像它是一个分隔符。
最佳答案
您无法像这样克隆TPopupMenu.Items
。尽管 TPopupMenu.Items
是一个 TMenuItem
对象,但它并不是一个实际的菜单项,它只是一个用于托管其他 TMenuItem
对象的容器。您必须循环遍历这些子项并单独克隆它们,例如:
for I := 0 to PopupMenu1.Items.Count-1 do
PopupMenu2.Items.Add(CloneMenuItem(PopupMenu1.Items[I]));
关于delphi - 如何克隆 TPopupMenu 的菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10604649/
我正在创建一个项目来使用评级系统评估不同的产品,但由于我是新手,所以我有几个问题。 首先,为了实现这个目标,我创建了一个 ListView ,它允许我使用从该数据库获取的 JSON 代码显示 MySQ
在对学校的大型作业进行故障排除时,我发现了一个错误,我将单个项目列表(包含一个项目的堆栈)视为单个项目。我解决了我的问题,但是在进一步的测试中我注意到一些奇怪的事情: 48 ?- 1 is [1].
嘿,我正在修改我在 Internet 上找到的示例应用程序。 (学习2破解)我想在我的 ReclycerView 中获取单行的 ID。这是代码。 主要 private void initVie
我在一个项目中使用 ASP.NET MVC SiteMap 提供程序,它运行良好。但是,我很难弄清楚如何隐藏菜单项。我想在全局导航中隐藏的菜单项是我的“站点地图”页面。现在我知道有一个东西叫做 Vis
我是一名优秀的程序员,十分优秀!