2012-07-16 19 views
9

Sto producendo video sull'utilizzo dei componenti delphi per il mio sito web LearnDelphi.tv. Sto cercando di coprire THeaderControl ma non riesco a trovare alcun uso per questo - questo componente ora non è necessario - superato da altri componenti come TListView (con il viewstyle del report) o c'è un modo per usarlo che ho trascurato ?Esiste un uso per THeaderControl in Delphi

Modifica: Ho registrato un segmento su THeaderControl per uno dei miei video commerciali, ma ho deciso di rilasciare questa piccola sezione (20 minuti su 6 ore) gratuitamente. Guardalo su YouTube. Grazie a tutti coloro che hanno contribuito.

+1

È usato per essere buono per un'intestazione su una lista normale con linguette, ma è effettivamente meno usato adesso. Non sono sicuro che questo sia un buon posto per fare una domanda del genere. (Non ho fatto downvote!) – mj2008

+1

@TLama Ho visto l'aiuto e ho fatto una ricerca Google abbastanza ragionevole. Un esempio continua a spuntare per le intestazioni su un TListBox, che è piuttosto complicato da implementare - e usare TListView è molto più semplice - mi stavo chiedendo se qualcuno lo stesse usando per fare qualcosa di utile. – Alister

+1

Non capisco questa domanda. Sembra che tu stia cercando un motivo per usare il controllo dell'intestazione. Hai un problema specifico con il controllo della visualizzazione elenco? –

risposta

11

In generale: THeaderControl può essere utilizzato come intestazione per dati tabulari. Ovviamente, spesso viene utilizzata una vista elenco. Tuttavia, per un layout esotico di componenti diversi in ogni colonna che non sarebbe facile da creare utilizzando una vista elenco o simile, o persino per layout completi completi per ogni colonna, il controllo dell'intestazione potrebbe essere utile. Offre semplicemente maggiore flessibilità là dove è necessario. Confrontalo con TPageControl offrendo una maggiore flessibilità rispetto a TTabControl.

E su un caso specifico di nicchia: ad esempio, utilizzo il controllo dell'intestazione come parte di un componente della griglia di pianificazione. Il controllo dell'intestazione ottiene le didascalie tramite un'origine dati e le sezioni dell'intestazione sono sincronizzate con le colonne e la barra di scorrimento. Infatti, questo richiede un codice, ma non più di quando l'attuazione dei diversi eventi 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; 

enter image description here

Problemi correlati