Çözünürlük.........

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mcsa06
Üye
Mesajlar: 25
Kayıt: 30 Eki 2003 04:22

Çözünürlük.........

Mesaj gönderen mcsa06 »

Selam Arkadaşlar...

Benim sorunum farklı çözünürlüklerde programımın görünüşü ile ilgili.
Programımı 1024x768 çözünürlükte Thoma 9 olarak hazırlıyorum.Çözünürlüklük değişince formların bozuluyor. bunun için ne yapmalıyım nasıl bir kod yazmalıyım.

Birde Yaptığım programı otomatik version göstemesini nasıl sağlarım.

Yardımlarınız için şimdiden çok teşekkür ederim.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Selam...

- @Admin'in verdiği linkte çok güzel özetlenmiş...

- Font büyüklükleri ile ilgili bir saplama yapmak istiyorum...

- Ekran büyüklüğü değişikliği ile @Admin'in dediği form şeklinde tutarlılık sağlanabilir fakat bir de bunun ekran font büyüklük ayarı sistemden değiştirilmesi ihtimali mevcut... Bu durumda form düzgün olsa da fontlarda sapmalar olur...

- Yani Desktop üzerinde sağ mouse ile basınca çıkan popup menüde özellikler'i görüntülediğinizde; Ayarlar / Gelişmiş ekranında göreceğiniz Görüntü / Yazı Tipi Boyutu kısmındaki 96 dpi'lık normal boyut, 120 dpi veya özel bir değer ile yapılmış olası bir değişiklik, formunuzun görünüşüne kötü yönde etki edebilir...

- Aşağıda verdiğim fonksiyon ile ekran font büyüklüğünün standart olup olmadığını sorgulayıp, buna göre çözüm üretmeniz gerekir...

- Ben standart değerler olan (96 dpi ve 120 dpi) ikisi için true/false döndüren bir fonksiyon hazırladım... Siz bunu değer döndürecek şekilde modifiye edebilirsiniz...

- Size özel önerim, eğer bu tip bir tasarım bozulmasından çekiniyorsanız; formunuzu bu olası büyük haliyle tasarlayın ve ScaleBy ile küçülterek kullanın... Büyük olduğu durumda ise dokunmayın... :idea:

- Yani...

Kod: Tümünü seç

If NOT FontSizeBuyukMu then Form1.ScaleBy(120,100);
şeklinde bir kullanım uygulanabilir...


şeklinde kullanacağınız fonksiyon aşağıdaki şekildedir...

Kod: Tümünü seç

Function FontSizeBuyukmu: boolean;
var FontSize : integer; 
    hdc      : Thandle;
begin
  result := false;
  hdc := GetDc(hwnd_desktop);
  fontsize := GetDeviceCaps(hdc,logpixelsx);
  ReleaseDc(hwnd_desktop,hdc);
  if fontsize = 96 then result := false
    else if fontsize = 120 then result := true;
end; 
- Çalışmalarınızda başarılar...
Resim
Resim ....Resim
Cevapla