当弹出菜单已经弹出时,我需要更改Delphi 7中TMenuItem
的文本。
我的弹出菜单有
OwnerDraw := true;
我想用:
popupmenu.repaint();
或
popupmenu.refresh();
但它们不存在。我该怎么办?
答案 0 :(得分:1)
您可以在菜单项上调用MenuChanged
以强制更新它。这是一个受保护的成员,您需要通过众所周知的受保护成员hack访问该成员。
type
THackedMenuItem = class(TMenuItem);
....
THackedMenuItem(MyMenuItem).MenuChanged(True);//forces redraw of owner drawn item