Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-窗体/数据页

如何让日期控件不占据窗体上的空间?

时 间:2008-02-16 07:59:16
作 者:cg1   ID:11  城市:上海  QQ:3002789054点击这里给麥田发消息
摘 要:如何让日期控件不占据窗体上的空间?
正 文:

问题:

  如何让日期控件不占据窗体上的空间?
如何获取某个控件在窗体上的绝对像素或者缇位置?

 

 

回答:

  思路,直接新建一个frmCalendarSelect窗体,添加一个日期控件,然后设置窗体弹出为是。其他窗体需要选择日期时只要打开frmCalendarSelect窗体,并将该窗体停靠在控件下方即可。

 

停靠在哪里,也就是某个控件在屏幕上的绝对位置只需要用 API ClientToScreen 就可以找到。


'//按 ALT+F11 转到 vba 界面,
'//新建一个模块
'//将以下代码 COPY 进去

 

'ClientToScreen 需要使用
Public Type POINTAPI
    x As Long
    y As Long
End Type

Public Enum TwipsTransfer
    DIRECTION_VERTICAL = 1
    DIRECTION_HORIZONTAL = 0
End Enum

'apiGetDeviceCaps 的参数
Public Const LOGPIXELSX = 88
Public Const LOGPIXELSY = 90

'SetWindowPos wFlags 参数使用的常数
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOZORDER = &H4
Public Const SWP_NOMOVE = &H2
Public Const SWP_DRAWFRAME = &H20


'相对位置转换为屏幕绝对位置
Public Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long

'移动窗体,或者更改窗体在屏幕上的Z轴顺序
Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _
    ByVal hWndinsertAfter As Long, ByVal x As Long, ByVal y As Long, _
    ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long


Public Declare Function apiGetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As Long
Public Declare Fu

Access软件网QQ交流群 (群号:483923997)       Access源码网店


专栏作家