获取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群 (群号:483923997)
Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access定时打开窗体】A...(05.21)
- 【Access更新查询】更新查...(05.15)
- 【Access小作品】简单的待...(04.30)
- 【Access窗体导出PDF】...(04.08)
- 【Access窗体导出PDF】...(04.07)
- Access两种方式实现即时更...(03.01)
- Access隐藏与显示lacc...(01.12)
- 【Access高效办公】将每个...(12.23)
- Access21点游戏源代码(12.13)
学习心得
最新文章
- 【Access定时打开窗体】Acc...(05.21)
- 【Access更新查询】通过更新查...(05.20)
- 精美简单实用的系统面板_完善版(改...(05.18)
- Access提示方法成员未找到的解...(05.17)
- Access运行时错误-21472...(05.15)
- 【Access更新查询】更新查询如...(05.15)
- 日期不为空怎么写表达式?[字段名]...(05.14)
- 附件字段如何判断myPictrue...(05.13)
- Access链接表SQL SERV...(05.11)
- Access快速开发平台企业版--...(05.09)