2008-10-16 55 views

回答

5

我知道2003年没有确切的2007年功能重复。有多个解决方案独立组件(基于用户监视器分辨率调整窗体上的控件的大小)和调整窗体大小事件的大小(如http://www.fmsinc.com/products/components/ControlTour/resize.htm )。我没有意识到2007年的经历可以完全复制,但是可以在这里找到类似的问题(和处理它的代码):http://www.experts-exchange.com/Microsoft/Development/MS_Access/Q_23662850.html

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

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 
1

如果有人来找:这是由不调整标签在所有,以及将所述位置和宽度的变化,如)之前从表单的宽度减去标签区域的末端关闭完成对于2007年或更高像 - 2010年,2013年,2016年版本。这是答案。

字体大小不会自动改变基于Access中的任何版本的屏幕分辨率,但开始的Microsoft Access 2007您可以使用的控件新属性,使他们拉伸,收缩或移动基于大小的形式(描述为here

1

尝试使用VBA代码this答案,看看它是否给你你想要的。当表单被调整大小时,窗体上的所有控件和文本都将按比例调整大小,因此无论窗口大小或用户的显示器分辨率设置为什么,它都看起来相同。