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