获取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高效办公】按日期...(06.12)
- 合并列数据到一个文本框的示例;...(05.06)
- 通过命令按钮让Access列表...(04.24)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)

学习心得
最新文章
- Access快速开发平台--Acc...(06.16)
- 【Access高效办公】按日期区间...(06.12)
- Access快速开发平台--生成复...(06.07)
- 仓库管理实战课程(25)-导航菜单...(06.06)
- 仓库管理实战课程(24)-库存月结...(06.05)
- 分享一个简单的X氏家谱小示例(06.04)
- 仓库管理实战课程(23)-先入先出(06.02)
- 仓库管理实战课程(22)-代理商库...(05.30)
- 仓库管理实战课程(21)-安全库存...(05.28)
- Access快速开发平台--如何添...(05.26)