Tìm thủ thuật nhanh hơn với chức năng tìm trong Blog

1/12/10

Tùy biến kích thước Form


Bạn hoaipnb vừa sưu tầm 1 đoạn code rất thú vị có thể tăng/ giảm kích thước form theo 1 hằng số cho trước trong table.
Tuy nhiên, vì thiếu thông tin nên bạn ấy chưa biết sử dụng thế nào.
Nhân đó mình đã chế biến lại thành 1 form có 2 nút cho phép tăng/giảm kích thước.

Đầu tiên, ta qua cửa sổ VBA thêm 1 module mới. Copy đoạn code sau vào:
Private Sub FormReSize(giatri As Single)

Me.InsideHeight = Me.InsideHeight / giatri
Me.InsideWidth = Me.InsideWidth / giatri
Dim ctrl As Control
For Each ctrl In Me.Controls
ctrl.Height = ctrl.Height / giatri
ctrl.Width = ctrl.Width / giatri
ctrl.Left = ctrl.Left / giatri
ctrl.Top = ctrl.Top / giatri
Next
Me.Repaint

End Sub
Sau đó, trong form, ta tạo hai nút tăng/ giảm kích thước, để cho nhanh mình để tên mặc định . Và gọi thủ tục trên :
Private Sub Command0_Click()
FormReSize 1.1
End Sub

Private Sub Command1_Click()
FormReSize 0.9
End Sub

Bạn có thể thay thế chỗ mình tô đỏ cho phù hợp với sở thích của mình. Mời Xem chương trình demo:
DownLoad
____________________________________________________________________________________
Thảo luận thêm: http://thuthuataccess.co.cc/forum

6 comments:

  1. bạn ơi sao tôi thử thu nhỏ thì ngon lành nhưng phóng to lại bị báo lỗi

    ReplyDelete
  2. vì khi bạn phóng to, 2 button trùng lên nhau nên nó báo lỗi. Bạn nên gán thêm đoạn code chặn lỗi nữa cho chắc, hoặc thay vì dùng nút nhấn, bạn thử dùng các phím nóng như control +, Ctrl - và bắt hành động các phím này trong sự kiện key up/ key enter...

    ReplyDelete
  3. thanks bạn nhìu, t có ý này: mình insert Image vào, vì khi đó Image sẽ không bịthu phóng nên chỉ cần click vào Image là được.

    ReplyDelete
  4. Hoặc là trong Event Key_Down và Key_Up thì mình viết code cho nó như sau

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = 49 Then FormReSize 0.8
    End Sub
    -> Khi ấn tổ hợp phím Shift+1 thì form sẽ thu nhỏ
    Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    If KeyCode = 50 Then FormReSize 1.2
    End Sub
    -> Khi ấn tổ hợp phím Shift+1 thì form sẽ phóng to
    T thử tùi, không báo lỗi nữa

    ReplyDelete
  5. Đúng rồi đó, Bạn có thể đổi các phím khác tùy thích! :)

    ReplyDelete
  6. ACESS 2007 khong cho phép thay đổi kích thước, mình làm thử rồi nhưng các control thì được
    còn form nó vẫn cứ trơ trơ ra!

    ReplyDelete

» Hãy để lại tên, email của bạn khi bạn post comment, để mình có thể dễ dàng trả lời comment của bạn khi cần.
» Có thể sử dụng các thẻ < b>,< i>,< a>. Và các icon thông dụng trên YM