- Tham gia
- 17/8/08
- Bài viết
- 8,662
- Được thích
- 16,720
- Giới tính
- Nam
Buồn buồn ngày cuối tuần mà phải trực công ty, tôi làm cái thủ tục Zoom Form này để tặng các bạn và tôi nghĩ nó sẽ giúp ích cho các bạn nếu các bạn thường xuyên sử dụng Userform khi nhập liệu, thiết kế giao diện form.
Trước khi sử dụng chúng phải có hàm API mới thực hiện được:
Hàm kiểm tra chiều rộng độ phân giải màn hình:
Hàm kiểm tra chiều cao độ phân giải màn hình:
Và thủ tục dưới đây được đặt trong Form khi thiết kế:
Các bạn lưu ý, ở đây có 2 thông số: 800 và 600. Đây là độ phân giải màn hình khi các bạn thiết kế Form, muốn biết chính xác độ phân giải màn hình của mình, thì các bạn sử dụng thủ tục sau:
Trước khi sử dụng chúng phải có hàm API mới thực hiện được:
PHP:
Declare Function GetSystemMetrics32 Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
Hàm kiểm tra chiều rộng độ phân giải màn hình:
PHP:
Function ScrW()
ScrW = GetSystemMetrics32(0)
End Function
Hàm kiểm tra chiều cao độ phân giải màn hình:
PHP:
Function ScrH()
ScrH = GetSystemMetrics32(1)
End Function
Và thủ tục dưới đây được đặt trong Form khi thiết kế:
PHP:
Private Sub ZoomForm()
Dim ZoomW As Double, ZoomH As Double
Dim MyControl As Control
'(800 x 600 là do phân giai màn hình khi thiet ke Form)
ZoomW = ScrW / 800: ZoomH = ScrH / 600
For Each MyControl In Me.Controls
With MyControl
.Top = .Top * ZoomH
.Height = .Height * ZoomH
.Left = .Left * ZoomW
.Width = .Width * ZoomW
.Font.Size = .Font.Size * ZoomW
End With
Next
With Me
.Width = .Width * ZoomW
.Height = .Height * ZoomH
End With
End Sub
PHP:
Private Sub UserForm_Initialize()
Call ZoomForm
End Sub
Các bạn lưu ý, ở đây có 2 thông số: 800 và 600. Đây là độ phân giải màn hình khi các bạn thiết kế Form, muốn biết chính xác độ phân giải màn hình của mình, thì các bạn sử dụng thủ tục sau:
PHP:
Sub DoPhanGiai()
MsgBox "Chieu rong (W): " & ScrW & Chr(10) & Chr(10) & "Chieu cao (H): " & ScrH, , "DO PHAN GIAI MAN HINH"
End Sub