获取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小作品】简单的待...(04.30)
- 【Access窗体导出PDF】...(04.08)
- 【Access窗体导出PDF】...(04.07)
- Access两种方式实现即时更...(03.01)
- Access隐藏与显示lacc...(01.12)
- 【Access高效办公】将每个...(12.23)
- Access21点游戏源代码(12.13)
- 【Access窗体导出Exce...(11.15)
- 【Access开发】Acces...(11.14)
学习心得
最新文章
- 附件字段如何判断myPictrue...(05.13)
- Access链接表SQL SERV...(05.11)
- Access快速开发平台企业版--...(05.09)
- 新版铁路工程管理系统V2.0(05.08)
- Access快速开发平台企业版--...(05.07)
- 【Access Call用法学习】...(05.06)
- access软件网站长张志简介 (05.05)
- 精美简单实用的系统面板(05.03)
- 【Access小作品】简单的待办任...(04.30)
- 从另一个ACCESS数据库批量导入...(04.29)