Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı... Delphi
Ön Sipariş Talebinde Bulunan Üyelerimiz
Sipariş Talebinde Bulunan Üyelerimiz

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Screen ile ilgili minik bir ipucu
#1
Buradaki günlük kullandığım uygulamam, 

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

ikinci monitor bağlandığında sapıtıyordu,

Sebebi ise,

DesktopHeight birinci monitorun yüksekliğini, DesktopWidth ise iki monitorun toplam genişliğini veriyordu.. 


       
  RDP.DesktopWidth  := Screen.DesktopWidth;  //3280
  RDP.DesktopHeight := Screen.DesktopHeight; //1080

Screen.Width ve Screen.Height doğru çözünürlükleri veriyor fakat sadece primary monitorun.

Bu sorunu ortadan kaldırmak için,



  
var
Monitor: TMonitor;
begin
      //Öncelikle ilgili uygulamamın hangi monitorde olduğunu buldum (fare pozisyonundan),
      Monitor                  := Screen.MonitorFromPoint(Mouse.CursorPos);
      
      // Monitor.MonitorNum farenin hangi monitor üserinde bulunduğu  integer olarak veriyor.                                         
      // Screen.Monitors[-integer-] ile de ilgili monitor özelliklerine erişilebiliyor.
      RDP.DesktopWidth  := Screen.Monitors[Monitor.MonitorNum].Width;
      RDP.DesktopHeight := Screen.Monitors[Monitor.MonitorNum].Height;
end;


Ek olarak uygulamada kullanılan mesaj kutuları (ben form kullanıyorum) hangi ekranda olursa olsun , primary ekranın en solunda çıkıyordu, poScreenCenter'da bu işimi çözdü.


2018-03-23_09-05-10.png


Bu da minicik bir bilgi olarak dursun, daha mantıklı önerileriniz var ise konu altında paylaşırsanız sevinirim.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter





Konuyu Okuyanlar: 1 Ziyaretçi