技術(shù) 點(diǎn)
- 技術(shù)
- 點(diǎn)
- V幣
- 點(diǎn)
- 積分
- 4293
|
根據(jù)屏幕分辨率自動(dòng)調(diào)整窗體大小
Option Compare Database
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1
Private Sub Form_Open(Cancel As Integer)
Dim x As Long, y As Long, a As Long, b As Long
x = GetSystemMetrics(SM_CXSCREEN)
y = GetSystemMetrics(SM_CYSCREEN)
a = 10000 / 800 * x
b = 7000 / 600 * y
DoCmd.MoveSize 1134, 1134, a, b
End Sub
獲得系統(tǒng)的屏幕區(qū)域大小
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1
Private Sub Command0_Click()
Dim x As Long, y As Long
x = GetSystemMetrics(SM_CXSCREEN)
y = GetSystemMetrics(SM_CYSCREEN)
MsgBox x & " " & y
End Sub
讓控件自適應(yīng)屏幕分辨率2
來(lái)源:ACCESS愛(ài)好者
'這個(gè)函數(shù)可以使你開(kāi)發(fā)的程序適應(yīng)各種分辨率,這是我見(jiàn)過(guò)的最完美的解決方案!強(qiáng)列推薦
''如果你是在1024*768的分辨率下寫的程序,就把下面那句改為
Const DesignSize = 1024,如果是800*600分
'辨率下寫的,就改為Const DesignSize = 800
'用法:把下面所有的代碼放在一個(gè)模塊里,在需要適應(yīng)分辨率的窗體的Load事
'件里加入Call FormResiz_OnOpen(Me)
'
'Const DesignSize = 1024
Const DesignSize = 800
'☆★☆★☆★☆★☆★☆★☆★☆★☆★
'API宣言
Declare Function GetDesktopWindow Lib "User32" () As Long
Declare Function GetWindowRect Lib "User32" (ByVal hWnd As Long, rectangle As RECT) As Long
'Type宣言
Type RECT
x1 As Long
y1 As Long
x2 As Long
y2 As Long
End Type
'國(guó)標(biāo)碼宣言
Dim frm As Form
Dim ctrl As Control
Dim prp As Property
Dim rat As Double
Dim flgSec
Dim X As Long
Dim WinHeight As Long
Dim hWnd As Long
Dim ret As Long
Dim i As Integer
Dim R As RECT
Dim SizeL As Long
Dim SizeT As Long
Dim SizeW As Long
Dim SizeH As Long
'--------------------------------------------------------------------------------
Public Function FormResiz_OnOpen(parFrm As Form, Optional perSizeL As Long, Optional perSizeT As Long, Optional perSizeW As Long, Optional perSizeH As Long)
On Error Resume Next
Set frm = parFrm
'窗口駕駛盤的取得
hWnd = GetDesktopWindow()
'現(xiàn)在分辨率取得
ret = GetWindowRect(hWnd, R)
'比例計(jì)算 常例:現(xiàn)在800 開(kāi)發(fā)1024 800/1024 = 0.78加倍
X = (R.x2 - R.x1)
rat = X / DesignSize
SizeL = 0: SizeT = 0: SizeW = 0: SizeH = 0
If Not IsEmpty(perSizeL) = True Then
SizeL = perSizeL * rat
SizeT = perSizeT * rat
SizeW = perSizeW * rat
SizeH = perSizeH * rat
End If
'現(xiàn)在分辨率=開(kāi)發(fā)分辨率如果終了
If X = DesignSize Then Exit Function
If X < DesignSize Then
'細(xì)小策劃時(shí)、控制>部分>表單的次序
Call ChangeCtrl
Call ChengeSec
Call ChangeFrm
Else
'大掬取時(shí)、表單>部分>控制的次序
Call ChangeFrm
Call ChengeSec
Call ChangeCt |
|