Delphi

2012-07-16 30 views
9

içinde THeaderControl için bir kullanım var Web sitem için delphi bileşenleri kullanarak video üretmekteyim LearnDelphi.tv. THeaderControl'ü kapsamaya çalışıyorum ama bunun için herhangi bir kullanım bulamıyor - bu bileşen artık gerekli değil - TListView (rapor görünüm stili ile) gibi diğer bileşenler tarafından aşıldı mı yoksa gözden kaçırdığım bir şekilde kullanmanın bir yolu var mı? ?Delphi

Düzenleme: Ticari videolarmdan biri için THeaderControl üzerinde bir bölüm kaydettim, ancak bu küçük bölümü (6 saat içinde 20 dakika) ücretsiz olarak serbest bırakmaya karar verdim. YouTube'da izleyin. Katkıda bulunan herkese teşekkürler.

+1

Bu sekmeleri ile normal bir listede bir başlık için iyi olması için kullanılır, ama gerçekten az kullanılmaktadır: Gerçekten de, bu, bazı kod gerektirir, ama daha farklı olayları uygularken daha DesignTime şimdi. Bunun böyle bir soru sormak için iyi bir yer olduğundan emin değil. (Reddetmedim!) – mj2008

+1

@TLama Yardımı inceledim ve oldukça makul bir Google araması yaptım. Bir örnek, bir TListBox üzerinde başlıkları için haşhaş olmaya devam ediyor, ki bu oldukça pratik bir yöntemdir - ve TListView kullanmak çok daha kolay - eğer bir şey yararlı bir şey yapmak için kullanıyor olsaydı merak ediyordum. – Alister

+1

Bu soruyu anlamıyorum. Başlık kontrolünü kullanmak için bir neden aradığınız görülüyor. Liste görünümü kontrolü ile ilgili belirli bir sorununuz var mı? –

cevap

11

Genel olarak: THeaderControl tablo verileri için başlık olarak kullanılabilir. Elbette bunun için genellikle bir liste görünümü kullanılır. Fakat her bir sütunun bir liste görünümü veya benzeri kullanılarak oluşturulmasının kolay olamayacağı veya her sütun için farklı düzenlerin bile tamamlanabildiği farklı bileşenlerin egzotik bir düzeni için başlık denetimi kullanışlı olabilir. Gerekli olduğu yerde daha fazla esneklik sunar. TTabControl'dan daha fazla esneklik sunan TPageControl ile karşılaştırın.

Belirli bir niş durumla ilgili olarak: örneğin, başlık denetimini bir planlama ızgarası bileşeninin parçası olarak kullanıyorum. Üstbilgi denetimi altyazısını bir veri kaynağı aracılığıyla alır ve başlık bölümleri sütunlar ve kaydırma çubuğuyla senkronize edilir.

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