2008-10-16 43 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答案,看看它是否給你你想要的。當表單被調整大小時,窗體上的所有控件和文本都將按比例調整大小,因此無論窗口大小或用戶的顯示器分辨率設置爲什麼,它都看起來相同。