Akademia VBA

czyli jak uzyskać władzę nad światem … danych

Odczyt dostępnej rozdzielczości ekranu z poziomu VBA

Kategorie: Uniwersalne VBA — Dariusz Kolasa o 18:10, 9 Sty 2011

W celu dynamicznego dostosowania własnej aplikacji do rozdzielczości ekranu musimy tą rozdzielczość jakoś odczytać. Fajnie by było jeszcze wiedzieć, czy cały ekran jest dla nas dostępny (trzeba uwzględnić np pasek zadań). Można się tego dowiedzieć używając funkcji Windows GetSystemMetrics:

Private Declare Function GetSystemMetrics _
    Lib "user32.dll" (ByVal nIndex As Long) As Long
'--
 
Sub RozdzielczoscEkranu()
 
    'rozdzielczość nominalna
    Const POZIOMA_NOMINALNA = 0
    Const PIONOWA_NOMINALNA = 1
 
    'rozdzielczość z odliczeniem
    'paska zadań
    Const POZIOMA_DOSTEPNA = 16
    Const PIONOWA_DOSTEPNA = 17
 
    Debug.Print "POZIOMA_NOMINALNA: " & _
        GetSystemMetrics(POZIOMA_NOMINALNA)
    Debug.Print "PIONOWA_NOMINALNA: " & _
        GetSystemMetrics(PIONOWA_NOMINALNA)
    Debug.Print "POZIOMA_DOSTEPNA: " & _
        GetSystemMetrics(POZIOMA_DOSTEPNA)
    Debug.Print "PIONOWA_DOSTEPNA: " & _
        GetSystemMetrics(PIONOWA_DOSTEPNA)
 
End Sub

Komentarze (1) »

20

Komentarz- tfz

14 Cze 2011 @ 18:07

Hej

Z tym paskiem zadań to niestety jest jeden problem – należałoby jeszcze sprawdzić, czy jest włączone autoukrywanie.

Pozdro
TFZ

RSS komentarzy do wpisu. Adres trackback

Zostaw komentarz

Dozwolone znaczniki XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>