1

Konu: Pencereyi 2. monitörde açmak

Merhaba.
Projeksiyon yada 2. lcd bağlı olsuğu ve ekranın genişletilmiş  olduğunu düşünelim. Bir pencereyi açtıktan sonra sürükleyerek diğer monitöre götürmek mümkün tabiki. Ancak pencereyi direk 2. ekranda açılacak şekilde ayarlamak mümkünmü?
Teşekkürler

2

Re: Pencereyi 2. monitörde açmak

mümkün tabiki pencerenin
yatay ,dikey,ust,sol bunlara istedigin degeri verirsin
burda benim yaptıgım ekranın çözünürlugune göre  alıyor ugraşmak zorunda kalmıyorum
thisform.Width=yatay
thisform.Height=dikey
thisform.Top=ust
thisform.Left=sol

Bilgi Paylaşıldıkça Artar...!

3

Re: Pencereyi 2. monitörde açmak

merak ettim

iki mönütör bağlı olunca ekranın yarısı bir mönütörde diğer yarısı öteki mönütörde mi gözüküyor ?

4

Re: Pencereyi 2. monitörde açmak

ikinci monitörü bağladığınız diyelim.
1. monitörünüz 1920x1080 çözünürlikte
2. monitörünüz 1280 x 1024 çözünürlükte olsun.

2. monitörü bağladığınızda çoğunlukla windows 2 monitörde de aynı görüntüyü basar. Projeksiyonda sunum yaparken kendi ekranınızda olan ile projeksiyonda aynı görüntü olması gibi.

Ancak görüntü ayarlarında ekran çöznürlüğüne gelip bu ekranı genişlet i seçerseniz masa üstünüz diğer monitörde devam eder. Ana pencerede açtığınız bir pencereyi sürükleyerek diğer ekrana taşıyabilirsiniz.

Genellikle tasarımcılar 1 ekrana sığamadıkları ve yer kalmadığı için 2. monitörüde takıp kendilerine biraz daha çalışma alanı açarak çok daha rahat çalışırlar.

Benim kastettiğim fox ta pencereyi açarken direk 2. monitörde açmanın yolu varmı?

5

Re: Pencereyi 2. monitörde açmak

Merhaba.
Şimdilik şöyle çok ideal olmasada bir çözüm buldum. Belki arkadaşların bir işine yarayabilir.

DECLARE INTEGER GetSystemMetrics IN win32api AS _FFC_GetSystemMetrics INTEGER
NumberOfMonitors =  _FFC_GetSystemMetrics(80)
WidthOfPrimaryMonitor = _FFC_GetSystemMetrics(0)
HeightOfPrimaryMonitor = _FFC_GetSystemMetrics(1)
? NumberOfMonitors
? WidthOfPrimaryMonitor
? HeightOfPrimaryMonitor

public sil1

DO Form forms\sil1
sil1.Left = WidthOfPrimaryMonitor +1
sil1.WindowState = 2

Bu sayede 2. monitörde fuul screen bir pencere açabildim.
Daha doğrusu oraya taşıyıp orda fullscrren yaptım.

6

Re: Pencereyi 2. monitörde açmak

Merhaba,
Guzel fonksiyon ama bu sadece 2. monitoru 1.nin sagina yerlestirenler icin calisir. Digerlerinde gorunmeyen bir form yaratmis olursun (mesela bende 2.monitor solda - uzgunum garip ve ukala gibi geldiyse).

Bence soyle birsey kullan:

Visual Fox Pro
*** Author: Cetin Basoz

 
#Define MONITORINFOF_PRIMARY 0x01
#Define MONITOR_DEFAULTTONEAREST 0x02
#Define MONITOR_DEFAULTTONULL 0x00
#Define MONITOR_DEFAULTTOPRIMARY 0x01
 
#Define SM_CMONITORS           80 && number of monitors
#Define SM_CXSCREEN             0 && Screen width in pixels
#Define SM_CYSCREEN             1 && Screen height in pixels
#Define SM_CXFULLSCREEN         16 && Client area width
#Define SM_CYFULLSCREEN         17 && Client area height
#Define SM_CXVIRTUAL         17 && Client area height
Declare Integer GetSystemMetrics In Win32API  Integer nIndex
 
Declare Integer MonitorFromPoint In WIN32API Integer x, Integer Y, Integer dwFlags
Declare Integer GetMonitorInfo In win32API Integer hMonitor, String @ lpmi
 
? "Monitors",GetSystemMetrics(SM_CMONITORS)
 
lpmi = BinToC(40,'4RS')+Replicate(Chr(0),36)
hMonitorDefault = MonitorFromPoint( 0,0, MONITOR_DEFAULTTONEAREST)
 
Create Cursor monitors (Left i, Top i, Width i, Height i, isdefault l)
For ix=-5000 To 5000 Step 5000
    For iy=-5000 To 5000 Step 5000
        hMonitor = MonitorFromPoint( m.ix,m.iy, MONITOR_DEFAULTTONEAREST)
        GetMonitorInfo(hMonitor, @ lpmi)
        Insert Into monitors (Left,Top,Width,Height,isDefault) Values (;
            CTOBIN(Substr(m.lpmi, 4+1+ 0, 4),"4RS"), ;
            CTOBIN(Substr(m.lpmi, 4+1+ 4, 4),"4RS"), ;
            CTOBIN(Substr(m.lpmi, 4+1+ 8, 4),"4RS"), ;
            CTOBIN(Substr(m.lpmi, 4+1+12, 4),"4RS"), ;
            m.hMonitor = m.hMonitorDefault)
    Endfor
Endfor
 
SELECT distinct * FROM monitors

7

Re: Pencereyi 2. monitörde açmak

Çetin hocam çok teşekkürler.
Önceki zaten ideal olmayan bir çözümdü. Bu tam olarak yapmak istediğimi bana sağlayacak. Tekrar teşekkürler.