TabControl - 如何强制事件 OnGetImageIndex
TabControl - How to force event OnGetImageIndex
我有一个带有 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?谢谢!
您可以为每个选项卡调用受保护的UpdateTabImages
method which sends a TCM_SETITEM
。
type
TAccessTabControl = class(TTabControl);
...
TAccessTabControl(TabControl1).UpdateTabImages;
我有一个带有 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?谢谢!
您可以为每个选项卡调用受保护的UpdateTabImages
method which sends a TCM_SETITEM
。
type
TAccessTabControl = class(TTabControl);
...
TAccessTabControl(TabControl1).UpdateTabImages;