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?
tüm açtığınızda bu şuna benzer:
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 denirprocedure 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 //
:
:
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!
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
@Jeferson - Farklı yazı tipi boyutlarıyla denedim ve sorunu kopyalayamadım. Sarı üçgenin metni yoktur ancak kaybolur. – Arnold
+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. –