2011-01-07 11 views
15

Hatta Delphi 2010 için TBitBtn ile ilişkili glifler, çirkin ve "çirkin". Kaldıkları geriye dönük uyumluluk sebebi var mı? Embarcadero, bu normal glifler yerine kullanabileceğim güncellenmiş png değiştirmelerini içeriyor mu?Glifler TBitBtn'e neden bu kadar çirkin ve modası geçmiş?

Belki de sadece ben ama bu simgeleri geliştirmek için grafik tasarımcıları Embarcadero istemek görmek (veya kiralama) isteriz.

alt text

+5

Şahsen ben Embarcadero bds olarak kendi menülerinde alfa ile (şimdi 10 yıldır olduğu gibi!) 32bpp gliflerini kullanmaya başladığını görmek isterim. Bunu yaptılarsa, menülerdeki glifler için korkunç derecede bozulan grileşme algoritmasını kaldırmak ve ImageList_DrawIndirect ile ImageListDrawParams.fState = ILS_SATURATE ile değiştirmek için taşınabilirlerdi. –

cevap

17

Ah sadece ölürdü: -/... O 16bit, Windows 3.x hedeflenen Delphi 1 'tanıtıldı O zaman düğmelerdeki küçük glifler çok yeniydi ve UI'yi "giydirdi". (BWCC'yi hatırlıyor musunuz?) UI standartlarının çok daha düşük olduğunu düşünüyorum, çünkü her seferinde bu glifleri olan bir uygulama gördüğümde sıkıntı yaşıyorum ... Bunlar çoğunlukla geriye dönük uyumluluk amaçları için dahil edildi.

Sadece yerel bir Windows denetimi olan ve artık TBitBtn'den bile daha fazla stilleri destekleyen düzenli bir TButton ile yapıştırın (o günlerde de sesli olarak itirazda bulunduk). Düğmeye sadece bir glif eklemeniz gerekiyorsa Delphi/RAD Studio XE, GlyFX'in (http://www.glyfx.com/) ücretsiz, daha modern, glifleri barındıran bir dizi barındırır.

+1

@Allen Menülerdeki glifler için grileşme algoritması hakkında herhangi bir fikriniz var mı ve yukarıda belirttiğim gibi 32 bpp alfa harmanlanmış resimlerle ne kadar fakir? Bunun size soran biraz arsız olduğunun farkındayım, ama ben sizin katılımınızı alabildiğim halde bir şeylerim olacağını düşündüm! –

+0

TBitBtn kullanımdan kaldırıldı mı? Hiç beklenmedik olay. Daha önce hiç duymadım. Delphi Yardım elbette yüzmek dışında. – kludg

+0

Kullanımdan kaldırıldığını mı söyledim? Bekle, yazdıklarımı tekrar okumama izin ver ... Hayır, hiçbir şeyden mahrum bırakma. Sadece bir fikir ifade ettim. –

5

(Sadece herkes bu konuyu okuduktan büyük resmi alır böylece. TButton yapar, ancak bazı ek özelliklere sahip olarak TBitBtn, aşağı yerli Win32 BUTTON kontrol için kaynar Bunlardan biri olan başlık yanında bir simge gösteren basit bir yol. Bunlardan başka, vb bkYes, bkNo olabilir Kind, ve düğmenin başlık ve glif önceden ayarlar. standart kabartmalar yukarıda gösterilmiştir ve gerçekten de, eski.)

Güncelleme

kontrolünü duygu ve sonra VCL kaynak koduna bir göz yaptıktan sonra bu kontrol (ait UxThemes kullanarak, yani bütün çizim elle yapılır aslında Delphi uygulanan olduğunu görüyoruz elbette). Bana sorarsanız, bu büyük bir -1, çünkü Aero etkinse, düğme sıradan Windows denetimleri gibi davranmıyor. Farklı hissediyor.

Güncelleme Sonu

Evet, geriye dönük uyumluluk muhtemelen bir şeydir. Bir diğeri, dilediğiniz herhangi bir bitmap'e "glif" yerleştirmek konusunda özgür olmanızdır. Ayrıca, bu görünümün düğmeleri Windows ortamında standart olmadığı için, muhtemelen Embarcadero'da oldukça düşük önceliğe sahiptir.

Bununla birlikte, Delphi 2009 (en azından), hatta bu kullandığınız Neden

C:\Program Files (x86)\Common Files\CodeGear Shared\Images\GlyFX\Icons\PNG\16x16 
+2

O, Tanrı: "Bu büyük bir -1 ...". Çok uzun zamandır SO'dayım ... –

+1

Bu kontroller, kaynakları korumak için pencere tutamaçlarını en aza indirmenin çok daha önemli olduğu on yıllar önce oluşturuldu. –

7

monte birkaç modern PNG resimleri vardır, bazı pratik bilgiler vermek? Düğmelerin simgeler gerekmez. Uxtheme'nin gelişi olmadan yeterli görsel ipuçlarına sahipler. Belki de açıklama budur: neden şimdi mirası olan bir şeyi güncellemek?

+1

+1. Katılıyorum. Tüm bu GUI tasarımı Windows 3.1 gibi görünüyor. –

+1

@Andreas Ahh, Windows 3.1 ..... Uygulamalarınızı Program Yöneticisi'nden başlatmayı özlemiyor musunuz? Hayır, öyle düşünmedim! –

+4

Düğmelerin simgeleri gerekmez mi? Microsoft Design Guidelimes bile, “komut için standart bir sembol olduğunda veya kullanıcıların komutun sonuçlarını görselleştirmesine yardımcı olduğunda” ikonlara izin verir. Http://msdn.microsoft.com/en-us/library/aa511453.aspx adresine bakın. Tabii ki iyi simgeler kullanılmalıdır ... –

5

Geriye dönük uyumluluk.

Sen Delphi 1 FishFact uygulaması Delphi XE farklı bakmak istemiyorum, değil mi?

Daha yeni Delphi sürümlerine sahip yeni bir simge kümesi aldığınızı unutmayın. Windows XP'de
olanlar C:\Program Files\Common Files\CodeGear Shared\Images\GlyFX

--jeroen

3

içinde ben de hala TÜM kendi bileşenleri için PNG (ve diğer resim türlerini) desteklemez anlayamıyorum vardır.

İlgili konular