Ogólnie: THeaderControl
może być używany jako nagłówek danych tabelarycznych. Oczywiście często wykorzystuje się widok listy. Ale dla egzotycznego układu różnych komponentów w każdej kolumnie, które nie byłyby łatwe do stworzenia przy użyciu widoku listy lub podobnego, lub nawet dla kompletnych różnych układów dla każdej kolumny, kontrola nagłówka mogłaby być użyteczna. Po prostu oferuje większą elastyczność tam, gdzie jest potrzebna. Porównaj to z TPageControl
, oferując większą elastyczność niż TTabControl
.
I o konkretnym przypadku niszowym: na przykład używam kontrolki nagłówka jako części składowej siatki planowania. Formant nagłówka otrzymuje jego podpisy za pośrednictwem źródła danych, a sekcje nagłówka są zsynchronizowane z kolumnami i paskiem przewijania. Rzeczywiście, to wymaga trochę kodu, ale nie więcej niż przy wdrażaniu różnych wydarzeń designtime:
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;
Kiedyś było dobre dla nagłówka na liście normalnych z kartami, ale to jest rzeczywiście mniej używanych teraz. Nie jestem pewien, czy jest to dobre miejsce, aby zadać takie pytanie. (Nie upadłem!) – mj2008
@ TLama Spojrzałem na pomoc i wykonałem całkiem sensowną wyszukiwarkę Google. Przykład ciągle pojawia się w nagłówkach na TListBox, który jest dość skomplikowany do implementacji - a korzystanie z TListView jest znacznie łatwiejsze - zastanawiałem się, czy ktoś go użył do zrobienia czegoś pożytecznego. – Alister
Nie rozumiem tego pytania. Wygląda na to, że szukasz przyczyny używania kontrolki nagłówka. Czy masz określony problem z kontrolką widoku listy? –