Jump to content

Delphi Ile Ekran Çözünürlüklerine Göre Program.


uyumam
 Share

Recommended Posts

Sayın arkadaşlarım öncelikle herkese iyi çalışmalar diliyorum bir konuda çözüme ulaşamadım daha doğrusu istediğim şeyi birebir yapamadım .

 
function SetScreenResolution(Width, Height: integer): Longint;
var
  DeviceMode: TDeviceMode;
begin
  with DeviceMode do begin
    dmSize := SizeOf(TDeviceMode);
    dmPelsWidth := Width;
    dmPelsHeight := Height;
    dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
  end;
  Result := ChangeDisplaySettings(DeviceMode, CDS_UPDATEREGISTRY);
end;
procedure EkranCozunurlugunuAyarla(VAR_WIDTH, VAR_HEIGHT: integer);
var
  VAR_OLD_WIDTH, VAR_OLD_HEIGHT: integer;
begin
  VAR_OLD_WIDTH := GetSystemMetrics(SM_CXSCREEN);
  VAR_OLD_HEIGHT := GetSystemMetrics(SM_CYSCREEN);
  if VAR_OLD_WIDTH<VAR_WIDTH then
    SetScreenResolution(VAR_WIDTH, VAR_HEIGHT);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
EkranCozunurlugunuAyarla(1280,720)
end;
 

bu kodlarla eğer windowsun  çözünürlüğü 1280 *720 modu altında bir değer ise ekran çözünürlüğünü bu moda getirebiliyorum.
 
-Sorum şu kullandığım notebook 18.4" Toshiba Qosmio ekran çözünürlüğüm 1680*945 program geliştirirken programı ekran boyutlarını 1280 * 720 olarak ayarlasam da 
bazı masaüstü pclerinde program çalışırken ekrandan taşmalar ve neslerin sığmaması gibi problemler yaşıyorum Anchor ve forumun scaled özellikleriyle denedim ama program scaled yapınca felaket derecede bir kötü kalite ortaya çıkıyor programın her çözünürlükkte çalıştırabilmem için gerekli bir örnek varsa yardımcı olursanız sevinirim iyi çalışmalar ..
Link to comment
Share on other sites

  • Editor

Formun minimum weight ve height özelliklerini belirleyebilirsiniz.
 

Onun haricinde yeni projemde kullandıgım bir yöntem ise , formdaki çıkacak olan nesneleri bir panel içerisine topladım.

Ve formun on resize eventında formun bouyutuna göre paneli boyutlandırdım.

          pnlObjects.Left := (Self.Width - pnlObjects.Width) div 2;
          pnlObjects.Top := (Self.Height - pnlObjects.Height) div 2;

Bunun gibi bir yöntemle 800x600 boyutlarına bile indireebiiliyorum programımın boyutunu.

Link to comment
Share on other sites

Formun minimum weight ve height özelliklerini belirleyebilirsiniz.
 

Onun haricinde yeni projemde kullandıgım bir yöntem ise , formdaki çıkacak olan nesneleri bir panel içerisine topladım.

Ve formun on resize eventında formun bouyutuna göre paneli boyutlandırdım.

          pnlObjects.Left := (Self.Width - pnlObjects.Width) div 2;
          pnlObjects.Top := (Self.Height - pnlObjects.Height) div 2;

Bunun gibi bir yöntemle 800x600 boyutlarına bile indireebiiliyorum programımın boyutunu.

 

 

Sayın hocam öncelikle ilgilendiğiniz için teşekkür ederim şöyle bir durum Panel kullanmakta fayda etmiyor çünkü Anchors kullanıyorum paneldede panele göre yine de yağdım program başka bir pc ye geçtiğinde ekrana sığdırsam bile içerisindeki nesnlerde sıkıntılar oluyor hepsini sığdırmanın değişik bir yolu var mıdır acaba ?

Link to comment
Share on other sites

  • Editor

isterseniz veritcal scroolbox kullanın nesneler vertical scroolbox içerisinde olsun.

PC nin çözünürlüğü ne olursa olsun sığacaktır sığmayan kısımlara ulaşmak için scroolu kaydırarak erişirler.

Link to comment
Share on other sites

Hocam biliyorum fazla muhalefet olmuş gibi oluyor ama  Scrolbox kullanmak kullanıcıyı sıkan bir yol yani kendi düşüncem bir program satın alsam kaydırarak kullanmak sıkar ve yorar o yüzden ekrana sığdırmam lazım max min witdh height özelliklei ve anchor ile neslerin proragramın resize'na göre geçiçi bir çözüm buldum ama dediğim gibi bir kod olmalı her ekrana sığdıracak ilgilendiğiniz için çok teşekkür ederim 

Link to comment
Share on other sites

Peki hocam hemen bir deneme yapacam geri bildirim yapacağım peki Frame ile bu işi yapma şansım ne kadar olabilir Alphaskins componenetinde frame bar var frame form oluşturup Frame create edip Boyutları ayarlayabilir miyim 

Link to comment
Share on other sites

  • Editor

Framebar kullanmadım ama şunuda yapabilirsiniz.

 

Windowsun başlat menüsü gibi mouse belli bir pozisyona geldimi üst menüleri gösterip gizlettirebilirsiniz.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...