İlk özel Delphi bileşenimi oluşturuyorum. Temelde, üzerinde görüntülenen başlık ve satır metni olan özel bir Tpanel.Özel bir delphi bileşeninde bir dizi listesi özniteliğine nasıl katılır?
Bir dize listesi kullanarak çok satırlı metin ekleyebilmek istiyorum.
bileşeni Ben satırları eklerken metin satırları panelde görüntülemek için alamayan test ederken: NewLinesText.add ('satırı1 metin') Ancak ben oluştururken
çalışır ve zamanında yeni StringList doldurmak böyle satırları eklemek mümkün istiyorum controlPanelitem.NewLinesText = MyNewStringlist
: ve sonra benim kontrolüm atamak NewLinesText.add ('satırı1 metin')
Ben WinXP'de Delphi 7 uzmanına kullanıyorum. Aşağıdaki kodlara bakın.
Herhangi bir yardım için teşekkür ederiz!
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.
yok. SetText'i çağıran tControlPanelItem.SetLinesText yordamına bakın. (SetText prosedürü tamamlanmadı. Sadece çalışıp çalışmadığını görmek için showmessage kullanıyorum) –
Tamam, bunu görmedim. (Bildiğiniz gibi, kod birkaç dakika önce güzel değildi!) Ama herhangi bir OnChange göremiyorum? –
Merhaba. Hızlı yanıtınız için teşekkür ederim. FLinesText bir dize listesi ve bildiğim kadarıyla bir onchange özelliğine sahip değil mi? –