当前位置:  开发笔记 > 编程语言 > 正文

用于在MS Access 2003表单中自动调整控件/子表单大小的VBA脚本?

如何解决《用于在MSAccess2003表单中自动调整控件/子表单大小的VBA脚本?》经验,为你挑选了1个好方法。

由于Access 2003没有2007年存在的控件锚定功能,我想知道是否有人能够或者知道某些可以提供此功能的VBA脚本或免费软件控件?



1> Godeke..:

我知道在2003年没有完全重复的2007功能.有多个组件可以解决分辨率独立性(根据用户监视器分辨率调整表单上的控件)以及使用表单resize事件调整大小(例如http:// www .fmsinc.com/products/components/ControlTour/resize.htm).没有,我知道完全复制了2007年的经验,但是可以在这里找到类似的问题(以及处理它的代码):http://www.experts-exchange.com/Microsoft/Development/MS_Access/Q_23662850.html

就个人而言,我只是自己处理了调整大小事件.最简单的方法是以您希望支持的最小大小创建表单,然后记录基本位置和宽度(在表中或作为表单范围的常量).从那里你可以使用:

resizeRatio = currentFormWidth / baseFormWidth

control.left = baseLeft * resizeRatio
control.width = baseWidth * resizeRatio

自己这样做的好处是,随着时间的推移你会发展它,例如保持左侧的标签宽度相同但向右扩展字段(这可以通过不调整标签大小来完成,并减去在应用位置和宽度更改之前,标签区域的末端偏离表单的宽度,例如:):

resizeRatio = (currentFormWidth - labelsAreaWidth) / (baseFormWidth - labelsAreaWidth)

control.left = (baseLeft - labelsAreaWidth) * resizeRatio + labelsAreaWidth
control.width = baseWidth * resizeRatio 

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有