获取access背景区域位置及大小
时 间:2008-01-31 15:07:45
作 者:咱家是猫 ID:85 城市:广州
摘 要:获取ACCESS背景区域位置及大小
正 文:
Option Compare Database
Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function apiGetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As Long
Private Declare Function apiReleaseDC Lib "user32" Alias "ReleaseDC" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function apiGetDeviceCaps Lib "gdi32" Alias "GetDeviceCaps" (ByVal hdc As Long, ByVal nIndex As Long) As Long
Private Const LOGPIXELSX = 88
Private Const LOGPIXELSY = 90
Public Const DIRECTION_VERTICAL = 1
Public Const DIRECTION_HORIZONTAL = 0
Function gFunPixelsToTwips(rlngPixels As Long, rlngDirection As Long) As Long
'像素转换成缇
On Error GoTo Err_gFunPixelsToTwips
Dim lngDeviceHandle As Long
Dim lngPixelsPerInch As Long
lngDeviceHandle = apiGetDC(0)
If rlngDirection = DIRECTION_HORIZONTAL Then
lngPixelsPerInch = apiGetDeviceCaps(lngDeviceHandle, LOGPIXELSX)
Else
lngPixelsPerInch = apiGetDeviceCaps(lngDeviceHandle, LOGPIXELSY)
End If
lngDeviceHandle = apiReleaseDC(0, lngDeviceHandle)
gFunPixelsToTwips = rlngPixels * 1440 / lngPixelsPerInch
Exit_gFunPixelsToTwips:
On Error Resume Next
Exit Function
Err_gFunPixelsToTwips:
MsgBox Err.Description, vbExclamation, "提示"
Resume Exit_gFunPixelsToTwips
End Function
'建个窗体,用按钮测试
Private Sub Command0_Click()
'获取ACCESS背景区域位置及大小
Dim intTop As Long, intLeft As Long, intWidth As Long, intHeight As Long
Dim lngRet As Long, Rc As RECT, HwndMDI As Long
HwndMDI = FindWindowEx(Application.hWndAccessApp, 0&, "MDIClient", "")
lngRet = GetWindowRect(HwndMDI, Rc)
With Rc
.Right = .Right - .Left
.Bottom = .Bottom - .Top
'把取出的像素值转化成缇值
intTop = gFunPixelsToTwips(.Top, DIRECTION_VERTICAL)
intLeft = gFunPixelsToTwips(.Left, DIRECTION_HORIZONTAL)
intWidth = gFunPixelsToTwips(.Right, DIRECTION_HORIZONTAL)
intHeight = gFunPixelsToTwips(.Bottom, DIRECTION_VERTICAL)
Debug.Print "Top像素值", .Top
Debug.Print "Left像素值", .Left
Debug.Print "Right像素值", .Right
Debug.Print "bottom像素值", .Bottom
Debug.Print "Top缇值", intTop
Debug.Print "Left
Access软件网官方交流QQ群 (群号:54525238)
Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access高效办公】上一年...(12.29)
- 用Access连续窗体制作的树...(11.03)
- 【Access高效办公】上一年...(10.30)
- Access制作的RGB转CM...(09.22)
- Access制作的RGB调色板...(09.15)
- Access制作的快速车牌输入...(09.13)
- 【Access高效办公】统计当...(06.30)
- 【Access高效办公】用复选...(06.24)
- 根据变化的日期来自动编号的示例...(06.20)
学习心得
最新文章
- Access快速开发平台--错误号...(01.04)
- 【Access高效办公】上一年度累...(12.29)
- Access快速开发平台--2.6...(12.24)
- Access快速开发平台企业版--...(12.10)
- SqlServer默认当前时间用什...(11.28)
- 【Access日期时间区间段查询示...(11.19)
- Microsoft Access不...(11.07)
- 用Access连续窗体制作的树菜单...(11.03)
- 【Access高效办公】上一年度累...(10.30)
- Access做的一个《中华经典论语...(10.25)


.gif)
