ðH geocities.com /Heartland/Pond/4805/API9.htm geocities.com/Heartland/Pond/4805/API9.htm .delayed x ºPÔJ ÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ Ð®ì •| OK text/html €çh •| ÿÿÿÿ b‰.H Sun, 20 Jan 2002 13:00:02 GMT < Mozilla/4.5 (compatible; HTTrack 3.0x; Windows 98) en, * ¹PÔJ •|
ACC2000: How to Use the GetSystemMetrics() API Call |
The
information in this article applies to:
Advanced: Requires expert coding,
interoperability, and multiuser skills.
This article applies to a Microsoft Access database (.mdb) and a Microsoft
Access project (.adp).
In the
Windows environment, various display resolutions may cause screens to appear
out of proportion. As a developer, you can get the width and height of various
elements of the window display by using the Windows application programming
interface (API) function GetSystemMetrics(). Incorporating this function
into an Access application gives you more information for designing the user
interface. This article describes the GetSystemMetrics() API function
and shows you how to call the function from Access.
The Windows GetSystemMetrics() API
function retrieves information about the system metrics (the width and height of
various display elements of a particular window). The GetSystemMetrics()
function can also return flags that indicate whether a mouse is present or if
the meaning of the left and right mouse buttons have been reversed. System
metrics are dependent upon the system display and may vary from display to
display.
To use the GetSystemMetrics() functions, follow these steps:
Declare Function GetSystemMetrics& Lib "User32" (ByVal nIndex&)
NOTE: This Declare
statement is case-sensitive.
Const SM_CXSCREEN = 0 ' Width of screen
Const SM_CYSCREEN = 1 ' Height of screen
Const SM_CXFULLSCREEN = 16 ' Width of window client area
Const SM_CYFULLSCREEN = 17 ' Height of window client area
Const SM_CYMENU = 15 ' Height of menu
Const SM_CYCAPTION = 4 ' Height of caption or title
Const SM_CXFRAME = 32 ' Width of window frame
Const SM_CYFRAME = 33 ' Height of window frame
Const SM_CXHSCROLL = 21 ' Width of arrow bitmap on
' horizontal scroll bar
Const SM_CYHSCROLL = 3 ' Height of arrow bitmap on
' horizontal scroll bar
Const SM_CXVSCROLL = 2 ' Width of arrow bitmap on
' vertical scroll bar
Const SM_CYVSCROLL = 20 ' Height of arrow bitmap on
' vertical scroll bar
Const SM_CXSIZE = 30 ' Width of bitmaps in title bar
Const SM_CYSIZE = 31 ' Height of bitmaps in title bar
Const SM_CXCURSOR = 13 ' Width of cursor
Const SM_CYCURSOR = 14 ' Height of cursor
Const SM_CXBORDER = 5 ' Width of window frame that cannot
' be sized
Const SM_CYBORDER = 6 ' Height of window frame that cannot
' be sized
Const SM_CXDOUBLECLICK = 36 ' Width of rectangle around the
' location of the first click. The
' second click must occur in the
' same rectangular location.
Const SM_CYDOUBLECLICK = 37 ' Height of rectangle around the
' location of the first click. The
' second click must occur in the
' same rectangular location.
Const SM_CXDLGFRAME = 7 ' Width of dialog frame window
Const SM_CYDLGFRAME = 8 ' Height of dialog frame window
Const SM_CXICON = 11 ' Width of icon
Const SM_CYICON = 12 ' Height of icon
Const SM_CXICONSPACING = 38 ' Width of rectangles the system
' uses to position tiled icons
Const SM_CYICONSPACING = 39 ' Height of rectangles the system
' uses to position tiled icons
Const SM_CXMIN = 28 ' Minimum width of window
Const SM_CYMIN = 29 ' Minimum height of window
Const SM_CXMINTRACK = 34 ' Minimum tracking width of window
Const SM_CYMINTRACK = 35 ' Minimum tracking height of window
Const SM_CXHTHUMB = 10 ' Width of scroll box (thumb) on
' horizontal scroll bar
Const SM_CYVTHUMB = 9 ' Width of scroll box (thumb) on
' vertical scroll bar
Const SM_DBCSENABLED = 42 ' Returns a non-zero if the current
' Windows version uses double-byte
' characters, otherwise returns
' zero
Const SM_DEBUG = 22 ' Returns non-zero if the Windows
' version is a debugging version
Const SM_MENUDROPALIGNMENT = 40
' Alignment of pop-up menus. If zero,
' left side is aligned with
' corresponding left side of menu-
' bar item. If non-zero, left side
' is aligned with right side of
' corresponding menu bar item
Const SM_MOUSEPRESENT = 19 ' Non-zero if mouse hardware is
' installed
Const SM_PENWINDOWS = 41 ' Handle of Pen Windows dynamic link
' library if Pen Windows is
' installed
Const SM_SWAPBUTTON = 23 ' Non-zero if the left and right
' mouse buttons are swapped
Form: Test1
-------------------------
Caption: TestForm
ControlSource: &none>
Command button
---------------------------
Name: Button0
Caption: My Button
'The following call returns the height of the form's caption bar
Private Sub Command0_Click()
Dim HeightY As String
HeightY = GetSystemMetrics(SM_CYCAPTION)
MsgBox HeightY
End Sub
For more information
about declaring functions, in the Visual Basic Editor, click Microsoft
Visual Basic Help on the Help menu, type Declare Statement in
the Office Assistant or the Answer Wizard, and then click Search to view
the topic.
For more information about constants, in the Visual Basic Editor, click Microsoft
Visual Basic Help on the Help menu, type Const Statement in
the Office Assistant or the Answer Wizard, and then click Search to view
the topic.