ID: Q148395
The information in this article applies to:
Advanced: Requires expert coding, interoperability, and multi-user skills.
This article shows you how to create a sample user-defined Visual Basic for Applications function to determine the current screen resolution. You can use this function to determine if you are running in standard VGA mode (640 x 480) or Super VGA mode (800 x 600 or 1024 x 768).
This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to your version of the "Building Applications with Microsoft Access" manual.
The following example demonstrates how to create and use the sample GetScreenResolution() function.
NOTE: You may have some Microsoft Windows API functions defined in an existing Microsoft Access library; therefore, your declarations may be duplicates. If you receive a duplicate procedure name error message, remove or comment out the declarations statement in your code.
1. Create a new module, and type the following Declarations and function:
'*****************************************************************
' DECLARATIONS SECTION
'*****************************************************************
Option Explicit
Type RECT
x1 As Long
y1 As Long
x2 As Long
y2 As Long
End Type
' NOTE: The following declare statements are case sensitive.
Declare Function GetDesktopWindow Lib "User32" () As Long
Declare Function GetWindowRect Lib "User32" _
(ByVal hWnd As Long, rectangle As RECT) As Long
'*****************************************************************
' FUNCTION: GetScreenResolution()
'
' PURPOSE:
' To determine the current screen size or resolution.
'
' RETURN:
' The current screen resolution. Typically one of the following:
' 640 x 480
' 800 x 600
' 1024 x 768
'
'*****************************************************************
Function GetScreenResolution () as String
Dim R As RECT
Dim hWnd As Long
Dim RetVal As Long
hWnd = GetDesktopWindow()
RetVal = GetWindowRect(hWnd, R)
GetScreenResolution = (R.x2 - R.x1) & "x" & (R.y2 - R.y1)
End Function
2. On the View menu, click Debug window.
3. Type the following line in the Debug window, and then press ENTER:
? GetScreenResolution()
Note that the current screen resolution is displayed in the Debug
window. If the current resolution is standard VGA, the following is
displayed in the Debug window:
640x480
For more information about how to determine the current screen resolution in Microsoft Access 2.0, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q113458
TITLE : ACC2: How to Determine the Current Screen Resolution (2.0)
For more information about API Calls, please see the following article
in the Microsoft Knowledge Base:
ARTICLE-ID: Q147781
TITLE : How to Convert API Calls from 16-bit to 32-bit.
Additional query words:
Keywords : kbprg
Version : 7.0 97
Platform : WINDOWS
Hardware : x86
Issue type : kbhowto
Last Reviewed: November 20, 1998