मैं अपना पहला कस्टम डेल्फी घटक बना रहा हूं। इसका मूल रूप से एक कस्टम Tpanel है जिसमें हेडर और लाइन टेक्स्ट प्रदर्शित होते हैं।कस्टम डेल्फी घटक में स्ट्रिंगलिस्ट प्रॉपर्टी को कैसे लागू किया जाए?
मैं एक स्ट्रिंगलिस्ट का उपयोग कर एकाधिक लाइन टेक्स्ट जोड़ने में सक्षम होना चाहता हूं।
जब घटक मैं पाठ लाइनों जब लाइनों को जोड़ने के पैनल पर प्रदर्शित करने के लिए नहीं मिल सकता है परीक्षण: NewLinesText.add ('पंक्ति 1 पाठ')
हालांकि जब मैं बनाने के काम करते हैं और क्रम में एक नया stringlist पॉप्युलेट करता है और फिर मेरे नियंत्रण के लिए असाइन करें: controlPanelitem.NewLinesText = MyNewStringlist
मैं इस तरह लाइनों को जोड़ने के लिए सक्षम होना चाहते हैं: NewLinesText.add ('पंक्ति 1 पाठ')
मैं WinXP पर उपयोग कर रहा हूँ डेल्फी 7 पेशेवर। नीचे कोड देखें।
किसी भी मदद की सराहना की जाएगी!
unit ControlPanelItem;
interface
uses
SysUtils, Classes, Controls, ExtCtrls, Graphics, AdvPanel, StdCtrls,
Windows,Forms,Dialogs;
type
tControlPanelItem = class(TAdvPanel)
private
fLinesText : TStrings;
procedure SetLinesText(const Value: TStrings);
procedure SetText;
protected
public
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
published
property NewLinesText : TStrings read FLinesText write SetLinesText;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [tControlPanelItem]);
end;
constructor tControlPanelItem.Create(AOwner: TComponent);
begin
inherited;
fLinesText := TStringList.Create;
end;
destructor tControlPanelItem.Destroy;
begin
fLinesText.Free;
inherited;
end;
procedure tControlPanelItem.SetLinesText(const Value: TStrings);
begin
fLinesText.Assign(value);
SetText;
end;
procedure tControlPanelItem.SetText;
var
count : Integer;
begin
for count := 0 to fLinesText.Count - 1 do
ShowMessage(fLinesText.strings[count]);
end;
end.
मैं पहले से ही है कि कर रहा हूँ है। प्रक्रिया tControlPanelItem.SetLinesText देखें जो SetText को कॉल करता है। (प्रक्रिया SetText पूर्ण नहीं है। मैं यह दिखाने के लिए शोमेसेज का उपयोग कर रहा हूं कि यह काम कर रहा है) –
ठीक है, मैंने उसे नहीं देखा। (जैसा कि आप जानते हैं, कोड कुछ मिनट पहले सुंदर नहीं था!) लेकिन मुझे कोई 'ऑन चेंज' नहीं दिखाई दे रहा है? –
हाय। आपके त्वरित जवाब के लिए धन्यवाद। FlinesText एक स्ट्रिंगलिस्ट है और जहां तक मुझे पता है एक विनिमय संपत्ति नहीं है? –