ẩn nút Maximize và Close của Userform (1 người xem)

  • Thread starter Thread starter DMQ
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

DMQ

Thành viên dốt
Tham gia
21/3/12
Bài viết
722
Được thích
57
Giới tính
Nam
Em có tìm trong DD rồi, nhưng không thấy code ẩn nút Maximize và Close form (Chỉ để lại nút Minimize thôi)
Mong mọi người giúp đỡ.
 
Em có tìm trong DD rồi, nhưng không thấy code ẩn nút Maximize và Close form (Chỉ để lại nút Minimize thôi)
Mong mọi người giúp đỡ.

Thử cái này:

Code cho nút đóng UserForm:
PHP:
Private Sub cmdDongForm_Click()
      Unload Me
End Sub

Code ẩn nút Maximize, Minimize và không cho click nút Close.

PHP:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
   If CloseMode = vbFormControlMenu Then
      Cancel = True
   MsgBox "Hãy Click nút Dong Form ", vbCritical + vbOKOnly, " No Close"
   End If

End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Ý của em là cho ẩn luôn hai nút đó, chứ không hiện ra.
 
Upvote 0
Ý của em là cho ẩn luôn hai nút đó, chứ không hiện ra.

Trình độ Amatơ như mình thì chỉ nên làm mất tác dụng của nút đóng như code ở bài #2 là đủ rồi.

Tôi khuyên bạn không nên làm ẩn nút Close (X) làm gì, vì nó chỉ có tác dụng trang trí cho UserForm nhưng phải sử dụng Code để can thiệp vào Windows sẽ phức tạp và sẽ có nhiều rắc rối về sau.
 
Lần chỉnh sửa cuối:
Upvote 0
Hì, cho mình mạn phép trích 1 đoạn code sưu tầm được:

Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const WS_SYSMENU As Long = &H80000
Private Const GWL_STYLE As Long = -16&


Private Sub HideCloseBox(ByVal UserForm As UserForm)
Dim hwnd As Long
Dim WindowStyle As Long
If Application.Version < 9 Then
hwnd = FindWindow("ThunderXFrame", UserForm.Caption)
Else
hwnd = FindWindow("ThunderDFrame", UserForm.Caption)
End If
If hwnd <> 0 Then
WindowStyle = GetWindowLong(hwnd, GWL_STYLE)
SetWindowLong hwnd, GWL_STYLE, WindowStyle And Not WS_SYSMENU
End If
End Sub


Private Sub UserForm_Initialize()
HideCloseBox Me
End Sub

Mời bạn sử dụng
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Code của bạn chỉ ẩn nút Close, ý của mình là ẩn hai nút Maximize và Close.
 
Upvote 0
Cám ơn bạn, nhưng có Thầy đã giúp mình rồi.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom