2012-05-31 12 views
8

Kullanıcıya bazı öğeleri gizleyerek 'temiz ve basit' bir arayüz oluşturmaya çalışıyorum. Sadece küçük bir ok, ana menü çubuğunun bir kısmını genişletebileceğini gösterir. Tüm kapatıldığında bu şuna benzer:Kontrollerin ölçeklenmesi neden PC'ler arasında farklılık gösteriyor?

enter image description here

tüm açtığınızda bu şuna benzer:

enter image description here

Her ok bir Speedbutton thats bir panelin sol tarafında oturur . Düğmeye tıklayarak Genişlik, Speedbutton (kapalı) genişliğiyle ve tasarım zamanında (açık) panelin genişliği arasında değiştirilir. Panelin duruşma sırasında genişliği sabit olarak saklanır. Prosedür show_hide_controls bu işler:

aşağıdaki gibi rutin denir
procedure TCompose_Main.show_hide_controls (key: string; Button: TSpeedButton; Panel: TPanel; width: Int32); 
begin 
    if GPA.iKey [key] = 1 
     then Panel.Width := width   // show panel, set panel to design width 
     else Panel.Width := Button.Width; // hide panel, set with to button width 
    Button.Glyph.Assign (nil); 
    Images_Left_Right.GetBitmap (GPA.iKey [key], Button.Glyph); 
end; // show_hide_controls // 

:

enter image description here

:

show_hide_controls ('Show Play Controls', // index to panel to show/hide 
        Enlarge_Play,   // Speedbutton requesting the enlargement/hide 
        Panel_Play,   // Panel to show/hide 
        cPlayWidth);   // Width of panel when shown 

Şimdi birkaç kullanıcı panelinin parçası gibi gizli bildirmektedir İşletim sistemi (Windows 7) ölçekleme ile bazı hileler oynar gibi görünüyor. Bu hatayı kopyalayamıyorum. Burada neler olduğunu anlayan var mı? Ve bu ayarlara bağımsız bir şekilde programlamak için düzgün bir yol var mı?

Güncelleme GDF'nin cevabında haklı olarak belirttiği gibi, yazı tiplerinin ölçeklenmesiyle (kontrol paneli> Ekran) ilgilidir. Bu, makinemde biraz garip davranıyor. % 150'ye varan oranda küçük bir etkiye sahip olurken,% 125'ine değişmesi büyük bir etkiye sahiptir. Tahmin edebileceğiniz gibi, ikinci skalayı değil, ilkini test ettim. Yalnızca bir kullanıcı% 125'den% 100'e geri ölçeklendirme yaptığında, hatalarını makinemde tekrarlayabildiğimi bildirdi.

Yazı tipleri ile birkaç bağlantı noktasının önerdiği sorunları arasında bir ilişki bulamadım. Sistemim hala Kurye (yeni değil), Segoe UI, Tahoma ve MS Sans Serif :-D ile yaptığım tüm testlerden muzdarip. Belki dolaylı olarak kontroller muhtemelen metni barındırmak için yeniden boyutlandırıldığı için.

Bu işlem nasıl yapılır? Bilmiyorum, deneme yapmaya başlayacağım ve bir şey bulursam size haber vereceğim.

Yardımlarınız için hepinize teşekkürler!

+0

Ir gerçekten Yazı boyutunu ana faktör olduğu görülmektedir biliyorum onlarla ilişkili metinleri olmayan kontroller (örneğin, soldaki resim düğmeleri) etkilenmediği için. Panellerin "Ankrajlar" özelliğini göreceli olarak alanınızı solda tutmak için kullanmanızı öneririm, böylece en azından görsel etkiyi azaltabilirsiniz. – jfoliveira

+0

@Jeferson - Farklı yazı tipi boyutlarıyla denedim ve sorunu kopyalayamadım. Sarı üçgenin metni yoktur ancak kaybolur. – Arnold

+0

+1 ve Star, bu sorun, Delphi geliştirmemizde yaygındır ve Delphi'de gerçekten uyumlu bir GUI oluşturmak isteyen herkes için bilinmelidir. –

cevap

10

Sorununuz inanıyorumsa, cevabını daha yeni belirttiniz. Windows 7, belirli yazı tiplerini ölçeklendirerek oynatır. Win7'yi bir PC'ye yüklediğinizde, monitörünüzün boyutunu kontrol eder ve monitör boyutunuza bağlı olarak "varsayılan" ölçek ayarını% 100 veya% 125 yapar. Sorun şu ki, yazı tipi dosyalarını bilgisayara yüklüyor. Bazı yazı tipleri için farklı "varsayılan" için farklı bir yazı tipi dosyası kullanır.

Sanırım uygulamanız MS Sans Serif kullanıyor ... Bu, Win7'nin (varsayılan) olarak hangi ölçeğe bağlı olduğuna bağlı olarak farklı font dosyası yüklemeleri alan yazı tiplerinden biridir.

Kullanıcılarınızın ölçeğin varsayılan olarak ayarlanmasını istediğinizi belirtmelerini sağlamak için bunu masaüstüne sağ tıklayıp sol altta "kişiselleştir" ve ardından "Görüntüle" yi seçerek görebilirsiniz.

aşağıdaki linki bu yazı kurtulmak ve olarak çalışmaya düzen öğelerini güncellemek için bir girişim yapar, ne Ancak orijinal http://www.rlvision.com/misc/windows_7_font_bug.asp

yeniden giriş-use-yazı dosyasını değiştirmek gösterir ne zaman y

Güncelleme sen hatırlattı beri ... Win7 yanı sıra geçmiş işletim sistemleri

Bu seni verdiğiniz bilgilerin sınırlı miktarda verilen ilgileniyor düşünüyorum ne üzerinde istenen % 125 v% 150 arasındaki farklı görünümlerden bahsetti. Sadece iki farklı MS Sans Serif dosyasının farklı ölçeklerde daha iyi göründüğünü bildiğinizden emin olmak istedim. Yazı tipi dosyalarından biri% 100 ve% 150'de harika görünüyor ancak% 125 oranında korkunç. Diğer yazı tipi dosyası% 125'de harika görünüyor, ancak% 100 ve% 150'de korkunç. ,

Oldukça hangisinin hangisi yazı tipi dosyası hatırlamıyorum ama 2 suçluları 1) SSERIFF.FON 2) SSERIFE.FON

+0

Teşekkürler. Bunu deneyeceğim ve size geri döneceğim. – Arnold

+0

GDF: Hangi varsayılan yazı tipi kullanılmalıdır? –

+1

@WarrenP: Tahoma, Verdana, Segoe UI, her türlü, herhangi bir True Type vektör yazı tipi ("adımlar" olmadan ölçeklenebilir). Daha da iyisi: Her zaman işletim sistemi varsayılan yazı tipini kullanın (MS Sans Serif'den beri bu yana değil ... oh, hatırlayamıyorum, Win 3.1?) –

İlgili konular