0

ポップアップメニューがすでにTMenuItemポップアップしているときに、Delphi7の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 に答える