我一直在为我的网站LearnDelphi.tv制作有关使用 delphi 组件的视频。我正在寻找 THeaderControl 但找不到任何用处 - 现在不需要这个组件 - 被其他组件(如 TListView (带有报告视图样式))超越,还是有一些我忽略的使用它的方法?
编辑:我在 THeaderControl 上为我的一个商业视频录制了一个片段,但我决定免费发布这个小片段(6 小时中的 20 分钟)。在YouTube上观看。感谢所有做出贡献的人。
我一直在为我的网站LearnDelphi.tv制作有关使用 delphi 组件的视频。我正在寻找 THeaderControl 但找不到任何用处 - 现在不需要这个组件 - 被其他组件(如 TListView (带有报告视图样式))超越,还是有一些我忽略的使用它的方法?
编辑:我在 THeaderControl 上为我的一个商业视频录制了一个片段,但我决定免费发布这个小片段(6 小时中的 20 分钟)。在YouTube上观看。感谢所有做出贡献的人。
一般来说: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;