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.
Çözünürlük.........
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
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...
- Yani...
şeklinde bir kullanım uygulanabilir...
şeklinde kullanacağınız fonksiyon aşağıdaki şekildedir...
- Çalışmalarınızda başarılar...
- @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...

- Yani...
Kod: Tümünü seç
If NOT FontSizeBuyukMu then Form1.ScaleBy(120,100);
ş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;