2009-02-04 12 views
6

Amacım benim app GUI görünümünü yenilenmesini sağlar. Şu anda benim GUI yani kullanıcı bir öğeyi çift tıklar ve bir iletişim karşılık gelen nesne değiştirmek için gösterilen eski moda şekilde bazı nesneleri düzenlemek için kullanılan listboxes bir sürü içerir. Firefox'un "Eklentiler | Uzantı listesi" ni taklit edebilen Delphi kontrolü?

Ben Firefox yüklü uzantıları (aşağıda bir anlık) görüntüleme şeklini iyi bir modern yaklaşım olduğunu düşünüyorum.

Sorum kolayca Delphi (win32) böyle bir GUI nasıl oluşturulacağı hakkında? Bu tür davranışları taklit ettiğiniz herhangi bir bileşen var mı yoksa sadece bunları panelleri kullanarak katmandan kodlamalı mıyım? (IMO çok hantal iş ı önlemek istiyorum - ... vb seçim mantığı, resizings,) her liste öğesi için bir TFrame kullanma

alt text http://i41.tinypic.com/16k6gd5.png

cevap

9

Standart bileşenlerle benzer bir şey (tam olarak değil) yapabilirsiniz; TDBCtrlGrid, TSpeedButton ...

alt text http://img8.imageshack.us/img8/9585/imagen29ox3.png

+0

Vay!Çok teşekkür ederim Neftali! :) –

+0

Görüntü artık mevcut değil! –

+0

Üzgünüm. Ücretsiz bir sunucudaydı ve süresi doldu. Bir dahaki sefere not aldım. :-( –

3

ve TScrollBox tüm Bağlantısızlar Top koydu olabilir iş. Ayrıca, veri kümeleriyle birlikte böyle bir şey yapan TDBCtrlGrid'e bakın.

+0

Teşekkür Lars, ben Neftali önerdi benzer bir yönü gittin. –

2

Var olan Delphi kontrolleri ile yapılabilir.

TCustomListBox kontrolünde Örneğin kendi liste öğesini çizmek için kendi OnDrawItem etkinlik oluşturabilirsiniz. Ayrıca madde yüksekliğini değiştirmek için kendi OnMeasureItem oluşturmanız gerekir. Eğer sıfırdan yapmak gerekecektir fazla özgürlük istiyorsanız bu nedenle bazı durumlarda

o çok sınırlıdır.

+0

Bu tam olarak ne kaçınmak oldu :-) Teşekkürler! –

7

Delphi 2007 veya Delphi 2009 kullanıyorsanız, size ('Ek' bileşeni palet sayfasından) benzer bir şey TCategoryButtons kullanarak yapmak mümkün olabilir. Bir form üzerine bırakın ve açılan menüyü görüntülemek için sağ tıklayın ve ardından "Kategoriler Editörü ..." üzerine tıklayın. Sonuç iletişim kutusuyla bir kategori ekleyin, altyazısını ayarlayın ve isteğe bağlı olarak içerdiği Öğeleri ayarlayın. Tam olarak aynı değil, ama ihtiyacınız olanı yapabilir.

(eğer nesnelerin kategorilerini varsa) Ayrıca TTreeView bir diyalog kullanabilir veya TListView Delphi 2007 Projeleri> Seçenekler iletişim kutusunu taklit etmek. TreeView veya ListView öğesindeki bir öğeye tıklamak, nesneyi yapılandırmak için bir TPageControl dosyasının uygun sayfasını görüntüler.

+0

TCategoryButtons benim cevabımdı, bu yüzden oyumu aldınız. –

+0

Teşekkürler, Cesar. Nihayet yüzden burada sorulara cevap olabilecek bir OpenID kurma getirmiştim. Durumda gizlenen, ama sadece kısa süreliğine. –

+0

Bu, D2007 ve üstü için geçerli bir seçenek gibi görünüyor. Ne yazık ki bende yok. Teşekkürler. –

2

çoğunlukla Lars kabul ama bunun yerine, bir panelin her bir madde için bir çerçeve kullanır. Bu kendi dosyasına ayrılacak ve bunun için kolay bir destek desteği alacaksınız.

+0

Güzel öneri. Cevabımı güncelledim. –