मैंने एक कस्टम नियंत्रण लिखा है, जिसमें कई उप पैनल हैं। मैं इन सब पैनलों को डिज़ाइन समय पर उनके द्वारा छोड़े गए अतिरिक्त नियंत्रणों को स्वीकार करना चाहता हूं।मैं उप-पैनल के साथ कस्टम नियंत्रण कैसे बना सकता हूं जो डिज़ाइनटाइम पर अन्य नियंत्रण स्वीकार करता है?
दुर्भाग्य से डिजाइन समय पर गिराए गए किसी भी नियंत्रण को मेरे कस्टम नियंत्रण पर समाप्त होता है, न कि पैनलों पर। यह विशेष रूप से दिखाता है यदि मैं लेबल छोड़ने का प्रयास करता हूं: लेबल के नीले बिंदुओं को दिखाया गया है, लेकिन यह कैप्शन नहीं है और यदि मैं लेबल को अचयनित करता हूं, तो यह अब बिल्कुल दिखाई नहीं दे रहा है।
सरलीकृत कोड (केवल एक उप पैनल):
type
TMyContainer = class(TPanel)
p_SubPanel: TPanel;
public
constructor Create(_Owner: TComponent); override;
end;
constructor TMyContainer.Create(_Owner: TComponent);
begin
inherited;
p_SubPanel := TPanel.Create(Self);
p_SubPanel.Parent := Self;
p_SubPanel.Align := alClient;
end;
क्या मैं गलत यहाँ कर रहा हूँ?
(बस के मामले में यह मायने रखती है: मैं डेल्फी 2007 का उपयोग कर रहा)
[संपादित करें]
मैं अब इसे दूसरे तरीके से हल कर लिया है। घटक में अब पैनल नहीं हैं लेकिन बाहरी पैनलों को संदर्भित करता है। यह वास्तव में अधिक लचीला बनाता है, लेकिन नकारात्मक पक्ष पर अब उपयोग करने के लिए सहज नहीं है।
मैं अभी भी जानना चाहता हूं कि मैंने मूल रूप से क्या वर्णन किया है। क्या वहां कोई ओपन सोर्स घटक नहीं है जो ऐसा करता है, इसलिए मैं स्रोत कोड का अध्ययन कर सकता हूं?