TabControl-如何强制事件OnGetImageIndex

时间:2018-09-29 15:40:07

标签: delphi tabcontrol vcl

我有一个带有TabControl组件的Delphi VCL表单应用程序(对于Windows),其中的选项卡在运行时创建。 Images属性链接到ImageList,并且我正在使用OnGetImageIndex事件根据状态信息为每个选项卡设置图像索引。在某些时候,当状态更改时,我需要更新此图像(索引)。我的第一个想法是致电:

TabControl1.Invalidate;

但是它不起作用。我还尝试了另一种没有成功的方法:

TabControl1.Repaint;

RedrawWindow(TabControl1.Handle, nil, 0, RDW_ERASE or
  RDW_INVALIDATE or RDW_ALLCHILDREN);

请,如何强制每个选项卡使用OnGetImageIndex?谢谢!

1 个答案:

答案 0 :(得分:5)

您可以调用受保护的UpdateTabImages方法,该方法为每个选项卡发送一个TCM_SETITEM

type
  TAccessTabControl = class(TTabControl);

...

  TAccessTabControl(TabControl1).UpdateTabImages;