componente ozellik ekleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

componente ozellik ekleme

Mesaj gönderen cfyasar »

label bileşenini kullanıyorum ama label a başka özellikler de eklemem lazım. bu çalışma anında yapmam mümkün mü. yoksa tcustomlabel dan bir component mi yaratmalıyım.
mesela çeşitli formlarda kullanıcı label oluşturuyor. buları ListBoxs:array[0..50] of Tlistbox; dizisinde gerekli özellikleri saklıyorum. bu dizide listbox in özelliğinde olmayan bazi değişkenleri de saklamam lazım. mesela duruma göre 3 tane text saklamam gerekiyo ama 1 tane text vat. listbox a text2 ve text3 diye değişkenler eklemeliyim.
öğrenmek, zorlukları yenmektir.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

şöyle bişey işini görebilir..

Kod: Tümünü seç

  MyRec = Record 
    lblname : TComponentName;
    Texts : Array[1..10] of String;
    // .. diger özellikler
  end;
bu tipte bir dizi oluşturabilirsin..

Kod: Tümünü seç

var
  xRec : Array[1..50] of MyRec;
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

Mesaj gönderen cfyasar »

sağolasın, pratik bir çözüm. sanırım işimi görür.
öğrenmek, zorlukları yenmektir.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

labelleri runtime olusturuyor iseniz,

Kod: Tümünü seç

TYeniLabel =class(TLabel)
  private
    FOzellik1: Integer;
  public
    property Ozellik1: Integer read FOzellik1 write FOzellik1;   
end;
gibi bir sınıf olusturup runtime create edilen labelleri

Kod: Tümünü seç

TYeniLabel =class(TLabel)
  private
    FOzellik1: Integer;
  public
    property Ozellik1: Integer read FOzellik1 write FOzellik1;
end;

procedure TFrmMain.Button1Click(Sender: TObject);
var
  LblDizi:array[1..2] of TLabel;
begin
  LblDizi[1]:=TYeniLabel.Create(self);
  LblDizi[1].Parent:=FrmMain;
  LblDizi[1].Top:=100;
  LblDizi[1].Left:=200;
  LblDizi[1].Caption:='yeni labelim';
end;
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

Mesaj gönderen cfyasar »

tam olarak aradığım cevap buydu teşekkürler.
öğrenmek, zorlukları yenmektir.
Cevapla