Delphi "Property Editor" benzeri oluşturmak.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Delphi "Property Editor" benzeri oluşturmak.

Mesaj gönderen mrmarman »

Merhaba...

Bugünlerde tembelliğim üzerimde. Bir adet "3D Panorama" grafik editörü hazırlıyorum da, bu programda kullanıcının tüm ayarlara hükmedebilmesi için IDE mantığı güdücem. Etüd projemi TPageController ile bitirdim artık görsel dönüşüme geçme vaktim geliyor.

Delphi'nin "Object Inspector" penceresindeki "Property Editor" benzeri bir yapılanmayı kurmak isterim. Şimdi bunu @mrmarman olarak ListView ile neden yapmıyorsun diyeceksiniz ama belki bunun kolay yeni delphi sürümlerinde henüz görmediğim bir yolu vardır diye önce bir sizlere sorayım istedim.

VCL önerecekseniz freeware opensource olan bir tane önerebilirsiniz. Aksi halde eski tas eski hamam ListView Report tipinde, OnClik olaylarında hücre üzerine checkbox, edit, combobox ilüzyonu vs. için kolları sıvamak kalıyor.

Resim

Teşekkürler.
En son mrmarman tarafından 01 Nis 2011 08:51 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Resim
Resim ....Resim
Ertugrul
Üye
Mesajlar: 136
Kayıt: 09 May 2009 12:05

Re: Delphi "Property Editor" benzeri oluşturmak.

Mesaj gönderen Ertugrul »

VCL ile gelen bir property editor componenti vardı fakat değer tipi teditten başka componente değiştirilemiyor sanıyorum.

Şu sayfayı inceleyin, özellikle aşağıdaki kodlar ilginizi çekecektir:

Kod: Tümünü seç

procedure TForm1.FormCreate(Sender: TObject);
var
  Count, Loop: Integer;
  List: PPropList;
begin
  Count := GetPropList(TypeInfo(TForm1), tkAny, nil);
  GetMem(List, Count * SizeOf(PPropInfo));
  try
    GetPropList(TypeInfo(TForm1), tkAny, List);
    Listbox1.Items.BeginUpdate;
    for Loop := 0 to Pred(Count) do
      Listbox1.Items.Add(List^[Loop]^.Name);
    Listbox1.Items.EndUpdate;
  finally
    FreeMem(List, Count * SizeOf(PPropInfo))
  end;
end;
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Delphi "Property Editor" benzeri oluşturmak.

Mesaj gönderen mrmarman »

:| Sorumu yanlış ifade ettim sanırım. Belki de verdiğim resimli örnek bunu böyle sağladı bilemiyorum. Benim yapmak istediğim pencerenin bir benzerini kendi özel paramaetrelerim için kullanmak üzere oluşturmaktı. Verdiğiniz örnek ile Delphi'nin property'lerini çağırıyor.

Resim

Ben aslında kendi hazırladığım programımda proje oluşturan kullanıcının, bu açtığı projedeki değerleri değiştirirken kullanacak. Ben TreeView ile başladım ama çok dallı budaklı olması yerine aşağıya listeler açılır halde olmasını tercih ediyorum. Onun için Delphi'deki örneği vermiştim.

Resim
En son mrmarman tarafından 01 Nis 2011 09:03 tarihinde düzenlendi, toplamda 2 kere düzenlendi.
Resim
Resim ....Resim
Ertugrul
Üye
Mesajlar: 136
Kayıt: 09 May 2009 12:05

Re: Delphi "Property Editor" benzeri oluşturmak.

Mesaj gönderen Ertugrul »

Yanlış anlamışım kusura bakmayın. Delphi ile gelen TValueListEditor işinizi görecektir. Aşağıdaki kod ile bir alan için combobox türünden değer girdirebilirsiniz:

Kod: Tümünü seç

 ItemProp := TItemProp.Create(valuselisteditor);
 ItemProp.EditStyle := esPickList;
 ItemProp.ReadOnly := false; // choose editable or not.
 valuselisteditor.ItemProps['Value'] := ItemProp;
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Delphi "Property Editor" benzeri oluşturmak.

Mesaj gönderen Lost Soul »

bi de collapse expand olsaydı :)
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Delphi "Property Editor" benzeri oluşturmak.

Mesaj gönderen mrmarman »

Vakit ayırıp cevap yazdığınız için müteşekkirim. TValueListEditor içeriğine alt başlık açamadığımdan sıradan bir TStringGrid'den farklı olamıyor. Bu da TreeView'i şimdilik en cazip çözüm kılıyor. Biraz daha araştırıcam sonra da TListView veya TStringList'i manüpile ederek bir çözüm üretmeye çalışıcam. Aklınıza başka bir çözüm gelirse paylaşın lütfen.
Resim
Resim ....Resim
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Delphi "Property Editor" benzeri oluşturmak.

Mesaj gönderen emin_as »

http://www.delphi-gems.com/index.php?op ... &Itemid=38
Virtual treeview işini görebilir, ücretsiz açık kaynak kodlu bir component.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Delphi "Property Editor" benzeri oluşturmak.

Mesaj gönderen mrmarman »

ismindeki "TreeView" ifadesi geçtiğinden dolayı gözardı etmiştim. Önerini dikkate alıcam ve inceliycem. Teşekkürler.
Resim
Resim ....Resim
Cevapla