| Modules |
| 5.82 Determinare la risoluzione del monitor senza usare le API |
| Dario Attard |
|
Nel database di esempio allegato a questa FAQ è mostrato come sia possibile determinare la risoluzione del monitor senza bisogno di far ricorso alle API di Windows. Qui di seguito si riporta il codice VBA della funzione che serve a realizzare quanto qui sopra scritto:
'==========================================================================================
'Calcolo della risoluzione dello schermo senza uso di API e conversioni in pixel
'==========================================================================================
'KE COSA E'?: Questa semplicissima funzione offre un modo diverso per calcolare la risoluzione
' dello schermo senza far ricorso a chiamate alle API o conversioni da twip a pixel
' o viceversa.
' Misura le dimensioni di una finestra test ingrandita all'apertura, identificando
' quindi una delle possibili risoluzioni in twip a cui corrispondono i valori in
' pixel.
'BUG : Non ne conosco. Ma vi prego di farmeli sapere cosicchè si possa cercare di
' correggerli.
'USO: : Chiama la funzione e tanti saluti...........
'NOTE : E' chiaro ke affinchè tutto funzioni bisogna trovare nel select una delle varie
' risoluzioni.
'==========================================================================================
'AUTORE : Dario Attard (picciotto siculo)
' Milazzo (ME)
' cheyenne2001@inwind.it
'===========================================================================================
'Per favore lascia i commenti sopra e se vuoi migliorare o modificare la function sotto fallo
'pure.
'===========================================================================================
Public Function testa_ris()
Dim winh As String, winw As String 'sono string e non long per fare nel select un
Dim ris As String 'confronto di stringhe
DoCmd.OpenForm "frm_test"
DoCmd.Maximize
winw = Forms("frm_test").InsideWidth
winh = Forms("frm_test").InsideHeight
Select Case winw & "x" & winh
Case "9600x7200"
ris = "640x480"
Case "12000x9000"
ris = "800x600"
Case "15360x11520"
ris = "1024x768"
Case "17280x12960"
ris = "1152x864"
Case "19200x11520"
ris = "1280x768"
Case "19200x14400"
ris = "1280x960"
Case "19200x15360"
ris = "1280x1024"
Case Else
ris = "sconosciuta"
End Select
DoCmd.Close acForm, "frm_test"
testa_ris = "La risoluzione dello schermo è: " & ris
End Function
Download: |