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, 

Uzak Masaüstü Bağlantısı – Remote Desktop Connection Uygulaması

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.
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  30 Adet MS SQL Server Performans İpucu csunguray 6 5.485 09-10-2019, Saat: 09:19
Son Yorum: csunguray



Konuyu Okuyanlar: 1 Ziyaretçi