9

我一直在为我的网站LearnDelphi.tv制作有关使用 delphi 组件的视频。我正在寻找 THeaderControl 但找不到任何用处 - 现在不需要这个组件 - 被其他组件(如 TListView (带有报告视图样式))超越,还是有一些我忽略的使用它的方法?

编辑:我在 THeaderControl 上为我的一个商业视频录制了一个片段,但我决定免费发布这个小片段(6 小时中的 20 分钟)。在YouTube上观看。感谢所有做出贡献的人。

4

1 回答 1

11

一般来说:THeaderControl可以用作表格数据的标题。当然,通常使用列表视图。但是对于每列中不同组件的奇异布局,使用列表视图或类似视图不容易创建,或者甚至对于每列的完全不同布局,标题控件可能很有用。它只是在需要的地方提供更大的灵活性。将其与TPageControl提供比TTabControl.

关于一个特定的小众案例:例如,我使用标题控件作为规划网格组件的一部分。标题控件通过数据源获取标题,标题部分与列和滚动条同步。实际上,这需要一些代码,但不会超过实现不同事件设计时的代码:

  TPlanGridHeader = class(TCustomHeaderControl)
  private
    FSectionWidth: Integer;
    procedure SetSectionWidth(Value: Integer);
    procedure WMMouseMove(var Message: TWMMouseMove); message WM_MOUSEMOVE;
  protected
    function CreateSection: THeaderSection; override;
    procedure SectionResize(Section: THeaderSection); override;
    procedure SectionTrack(Section: THeaderSection; Width: Integer;
      State: TSectionTrackState); override;
    property SectionWidth: Integer read FSectionWidth write SetSectionWidth;
  public
    procedure AddSection(const AText, AHint: String);
    constructor Create(AOwner: TComponent); override;
  end;

在此处输入图像描述

于 2012-07-16T15:21:02.727 回答