由于Access 2003没有2007年存在的控制锚定功能,我想知道是否有人有或知晓某些可以提供此功能的VBA脚本或免费软件控件?用于自动调整MS Access 2003窗体中控件/子窗体大小的VBA脚本?
2
A
回答
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答案,看看它是否给你你想要的。当表单被调整大小时,窗体上的所有控件和文本都将按比例调整大小,因此无论窗口大小或用户的显示器分辨率设置为什么,它都看起来相同。
相关问题
- 1. MS Access 2007/2003 - 从子窗体引用子窗体上的控件
- 2. 连续窗体(ms Access 2003)
- 3. 调整窗体大小调整控件
- 4. 根据窗体调整大小和调整窗体控件调整大小
- 5. 调整窗体大小的控件
- 6. ms Access窗体子窗体排序
- 7. 自动调整Windows窗体控件的大小
- 8. Winforms:调整窗体控件中的用户控件的大小
- 9. 如何在FormLayoutPanel中调整窗体的大小时调整窗体的大小?
- 10. 在调整父级大小时调整子窗体控件的大小
- 11. 在Windows窗体和本地化中调整窗体大小
- 12. MS Access窗体调试
- 13. Windows窗体调整大小
- 14. 在Access 2003中的窗体和子窗体
- 15. 由其子女调整窗体大小
- 16. 根据子窗体是否可见来调整窗体大小
- 17. Access 2003引用子窗体记录源
- 18. C#自动调整窗体大小DataGridView的大小
- 19. MS Access窗体 - 在
- 20. MS Access:如何引用导航窗体的子窗体?
- 21. 在C#中垂直(仅)可调整大小的窗体窗体#
- 22. PowerShell窗体调整大小事件
- 23. Windows窗体组件的自动比例调整大小?
- 24. 使用VBA解析MS Access窗体中的文本
- 25. MS Access:如何从子窗体控件的公式中相对引用主窗体中的控件?
- 26. 子窗体内的子窗体控件
- 27. 调整窗体大小时自动调整列表框的大小
- 28. 禁用调整Windows窗体大小
- 29. 用windowbuilder重新调整窗体大小
- 30. 窗体大小调整和最大化