resolutie

Status
Niet open voor verdere reacties.

janus1janus1

Gebruiker
Lid geworden
7 apr 2005
Berichten
103
Hallo

Ik heb een programma dat geschikt moet zijn voor een groot aantal PC's. Nu hebben we twee typen; desktops en laptops. De resolutie is in beide gevallen verschillend.
Kan ik op een of andere manier de huidige resolutie opvragen om het scherm op de juiste manier aan te kunnen passen.
Onderstaand bericht is van 2006, maar dit werkt niet


Je kunt wel de resolutie opvragen met

System.HorizontalResolution
System.VerticalResolution

maar volgens mij niet wijzigen via VBA


vrgr
Janus
 
ik ben bang dat wijziging van de screen resolutie de status read-only heeft en dus niet te wijzigen is in vba.
in vb in elk geval niet

ab
 
ik ben bang dat wijziging van de screen resolutie de status read-only heeft en dus niet te wijzigen is in vba.
in vb in elk geval niet

ab

Neen, maar opvragen kan wel dus indirect kan je wel verder. Je zal dan wel meer code moeten voorzien... :confused:

Misschien een klein ideetje en misschien niet nuttig, maar je kan bij openen van het programma de gebruiker laten intypen of het om een desktop of een laptop gaat. En daarmee verder werken. Lijkt me simpeler voor de code.

Wigi
 
ik zie zo snel maar twee mogelijkheden:
1) een dll maken in VB die de properties van het screenobject (en dan met name screen.width & screen.height) teruggeeft,

2) (beetje enger) er zal vast een map of bestand zijn dat alleen op de laptop voorkomt (wellicht hiberfil.sys). Je kunt kijken of dit bestand bestaat, en aan de hand daarvan verder gaan.

Oh en dan bedenk ik me nog zojuist een andere optie, die moet ik even testen, post straks wel update
 
Yep, dit is de beste oplossing, getest in Access, maar zou gewoon ook in Excel moeten werken, wel best in een aparte module zetten:

Code:
Type RECTANGLE
   x1 As Long
   y1 As Long
   x2 As Long
   y2 As Long
End Type


Declare Function GetDesktopWindow Lib "User32" () As Long
Declare Function GetWindowRect Lib "User32" (ByVal hWindow As Long, R As RECTANGLE) As Long

Public Sub GetResolution()
   Dim R As RECTANGLE
   Dim hWindow As Long
   Dim RC As Long

   Dim WindowResolution As String
   hWindow = GetDesktopWindow()
   RC = GetWindowRect(hWindow, R)
   msgbox (R.x2 - R.x1) & "x" & (R.y2 - R.y1)
      
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan