0

当弹出菜单已经弹出时,我需要TMenuItem在 Delphi 7中更改 a 的文本。

我的弹出菜单有

OwnerDraw := true;

我想使用:

popupmenu.repaint();

或者

popupmenu.refresh();

但它们不存在。我该怎么做?

4

1 回答 1

1

您可以调用MenuChanged菜单项以强制对其进行更新。这是一个受保护的成员,您需要通过众所周知的受保护成员黑客来访问该成员。

type
  THackedMenuItem = class(TMenuItem);
....
THackedMenuItem(MyMenuItem).MenuChanged(True);//forces redraw of owner drawn item
于 2012-11-07T09:58:50.480 回答