2012-07-16 15 views
9

में THeaderControl के लिए कोई उपयोग है, मैं अपनी वेबसाइट LearnDelphi.tv के लिए डेल्फी घटकों का उपयोग करने पर वीडियो बना रहा हूं। मैं THeaderControl को कवर करने के लिए देख रहा हूं लेकिन इसके लिए कोई उपयोग नहीं मिल रहा है - क्या यह घटक अब आवश्यक नहीं है - TListView (रिपोर्ट व्यूस्टाइल के साथ) जैसे अन्य घटकों से आगे है या इसका उपयोग करने का कोई तरीका है जिसे मैंने अनदेखा किया है ?क्या डेल्फी

संपादित करें: मैंने अपने वाणिज्यिक वीडियो में से एक के लिए थिडर कंट्रोल पर एक सेगमेंट रिकॉर्ड किया है, लेकिन मैंने इस छोटे सेक्शन (6 घंटे में से 20 मिनट) को मुक्त करने का निर्णय लिया है। इसे YouTube पर देखें। योगदान देने वाले हर किसी के लिए धन्यवाद।

+1

यह टैब के साथ एक सामान्य सूची में एक हैडर के लिए अच्छा हुआ करता था, लेकिन यह वास्तव में कम इस्तेमाल किया जाता है अभी व। यकीन नहीं है कि इस तरह के एक सवाल पूछने के लिए यह एक अच्छी जगह है। (मैंने डाउनवोट नहीं किया था!) ​​ – mj2008

+1

@TLama मैंने सहायता देखी है, और काफी उचित Google खोज की है। एक उदाहरण टीएलिस्टबॉक्स पर हेडर के लिए पॉप-अप रहता है, जो कार्यान्वित करने के लिए काफी हद तक आसान है - और एक TListView का उपयोग करना बहुत आसान है - मैं सोच रहा था कि कोई भी उपयोगी कुछ करने के लिए इसका उपयोग कर रहा था। – Alister

+1

मुझे इस सवाल को समझ में नहीं आता है। आप हेडर नियंत्रण का उपयोग करने का एक कारण ढूंढ रहे हैं। क्या आपके पास सूची दृश्य नियंत्रण के साथ एक विशिष्ट समस्या है? –

उत्तर

11

सामान्य रूप से: THeaderControl टैब्यूलर डेटा के लिए शीर्षलेख के रूप में उपयोग किया जा सकता है। बेशक, इसके लिए अक्सर एक सूची दृश्य का उपयोग किया जाता है। लेकिन प्रत्येक कॉलम में विभिन्न घटकों के एक विदेशी लेआउट के लिए जो सूची दृश्य या समान का उपयोग करके बनाना आसान नहीं होगा, या प्रत्येक कॉलम के लिए भी अलग-अलग लेआउट के लिए, हेडर नियंत्रण उपयोगी हो सकता है। यह वहां अधिक लचीलापन प्रदान करता है जहां इसकी आवश्यकता होती है। TPageControl के साथ इसकी तुलना करें TTabControl से अधिक लचीलापन प्रदान करता है।

और एक विशिष्ट आला मामले के बारे में: उदाहरण के लिए, मैं एक योजना ग्रिड घटक के हिस्से के रूप में हेडर नियंत्रण का उपयोग करता हूं। हेडर नियंत्रण डेटा स्रोत के माध्यम से अपने कैप्शन प्राप्त करता है, और हेडर अनुभाग कॉलम और स्क्रॉल बार के साथ समन्वयित होते हैं। दरअसल, इस कुछ कोड की आवश्यकता है, लेकिन जब अलग घटनाओं को लागू करने से नहीं अधिक 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