Ekran Alanını Bul ve Boyutunu Ayarla...

Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
Programları 15'' bir monitör olan pc de yaptım ve ekran alanını 600x800 ekran alanına ayarladım.

Başka bir bilgisayarda ise monitör 19'' olduğunda program görünüm olarak ortada kalıyor ve görüntü (ekran alanı 600x800 olduğu halde)
istediğimiz gibi olmuyor. Bunun için prg. açıldığında ekran alanını bulan ve bunu monitörün ekran alanına göre ayarlayan ve başlangıçta çalışn bir kod yazılabilir mi? :?

Şimdiden herkese teşekkürler... :D
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,
Öncelikle sizi unuttuğumu sanmayın. Ama bazen gecikmeoluyor. :uyku:

Neyse gelelim günün sorusuna. Size sistemin alanını hesaplayan kodu yolluyorum. Bundan sonra diğer ayarlamalar buma göre hesaplanıp yapılabilir.

Kod:
***************** Code Start **********************
' This code was originally written by Dev Ashish.
' It is not to be altered or distributed,
' except as part of an application.
' You are free to use it in any application,
' provided the copyright notice is left unchanged.
'
' Code Courtesy of
' Dev Ashish
'
Private Declare Function apiGetSys Lib "user32" _
    Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long

Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1
Private Const SM_CXVSCROLL = 2
Private Const SM_CYHSCROLL = 3
Private Const SM_CYCAPTION = 4
Private Const SM_CXBORDER = 5
Private Const SM_CYBORDER = 6
Private Const SM_CXDLGFRAME = 7
Private Const SM_CYDLGFRAME = 8
Private Const SM_CYVTHUMB = 9
Private Const SM_CXHTHUMB = 10
Private Const SM_CXICON = 11
Private Const SM_CYICON = 12
Private Const SM_CXCURSOR = 13
Private Const SM_CYCURSOR = 14
Private Const SM_CYMENU = 15
Private Const SM_CXFULLSCREEN = 16
Private Const SM_CYFULLSCREEN = 17
Private Const SM_CYKANJIWINDOW = 18
Private Const SM_MOUSEPRESENT = 19
Private Const SM_CYVSCROLL = 20
Private Const SM_CXHSCROLL = 21
Private Const SM_DEBUG = 22
Private Const SM_SWAPBUTTON = 23
Private Const SM_RESERVED1 = 24
Private Const SM_RESERVED2 = 25
Private Const SM_RESERVED3 = 26
Private Const SM_RESERVED4 = 27
Private Const SM_CXMIN = 28
Private Const SM_CYMIN = 29
Private Const SM_CXSIZE = 30
Private Const SM_CYSIZE = 31
Private Const SM_CXFRAME = 32
Private Const SM_CYFRAME = 33
Private Const SM_CXMINTRACK = 34
Private Const SM_CYMINTRACK = 35
Private Const SM_CXDOUBLECLK = 36
Private Const SM_CYDOUBLECLK = 37
Private Const SM_CXICONSPACING = 38
Private Const SM_CYICONSPACING = 39
Private Const SM_MENUDROPALIGNMENT = 40
Private Const SM_PENWINDOWS = 41
Private Const SM_DBCSENABLED = 42
Private Const SM_CMOUSEBUTTONS = 43
Private Const SM_CMETRICS = 44

Function fGetSysStuff(strWhat As String) As String
Dim strRet As String
    Select Case LCase(strWhat)
        Case "resolution": strRet = apiGetSys(SM_CXSCREEN) & "x" _
                                        & apiGetSys(SM_CYSCREEN)
        Case "windowsize": strRet = apiGetSys(SM_CXFULLSCREEN) & "x" _
                                        & apiGetSys(SM_CYFULLSCREEN)
    End Select
    fGetSysStuff = strRet
End Function
'***************** Code End **********************
İyi çalışmalar :hey:
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
sevgili modalı;

Slm ve Saygılar,

Yine uzun bir kod yazmışınız ellerine sağlık dostum. Kodun çalışması için yani başlangıç formu falan mı ayarlamam lazım yoksa kendi kendine açılışta çalışırmı
modül ismi falan yazmam gerekirmi belirli bir isim yani..

Teşekkürler.. Kolay gelsin.. :Dost:
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,

Yukarıdaki kod parşasını yeni bir modülün içine yerleştirin. Ondan sonra da
fGetSysStuff fonksiyonunu uygulamanın istediğiniz yerinden çağırırsanız o zaman aaaXbbb olarak ayarlı çözünürlüğü döndürürsünüz. Oradan da açılacak formların boyutunu ayarlayabilirsiniz.

İyi çalışmalar :D

Bu arada bütün bu kodları kendim yazmıyorum kendi işime uyduruyorum.
Yani Amerikayı tekrar keşfetmiyorum. Biraz arştırma ve tüm kodları bulabiliyoruz İnternet de
 
Katılım
31 Mayıs 2006
Mesajlar
25
Sayın modalı bu konuyu biraz daha açarmısınız. modülü kopyaladım. form açıldığında Call fGetSysStuff ekledim.ama Compile Error Argument not optional hatası verdi.
 
Katılım
31 Mayıs 2006
Mesajlar
25
Modalı, bu sorum gözünden kaçtı herhalde, konuyu bir örnekle biraz daha açarmısın.....
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın enasmu,

Gözümden kaçmadı ama herhalde bir uygulama üstünde yapmak gerekecek diye düşünüyorum.

Onun için biraz sabır ama yine de hatırlatırsanız iyi olur.

İyi çalışmalar :D
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
e ben hatırlatmış olayım bari sayın modalı küçük bir örnek üzerinde uygulamayı çalıştırınız yoksa olmayacak böyle.
 
Üst