Hiển thị nút Min, Max, Close trong Userform
Tôi gửi bạn code hiển thị nút Min, Max, Close trong userform, cho phép resize userform. Muốn vừa hiển thị userform vừa làm việc với bảng tính thì đặt ShowModal=False trong cửa sổ Properties.
Bạn copy tất cả code dưới đây vào Userform.
[GPECODE=vb]
'Set userform style
Option Explicit
Const GWL_STYLE = (-16)
Const GWL_EXSTYLE = (-20)
Const WS_MAXIMIZE = &H1000000
Const WS_MAXIMIZEBOX = &H10000
Const WS_MINIMIZE = &H20000000
Const WS_MINIMIZEBOX = &H20000
Const WS_THICKFRAME = &H40000
Const WS_SIZEBOX = WS_THICKFRAME
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 Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim hForm As Long, lPrevStyle As Long
Private Sub UserForm_Initialize()
'ShowModal = False
hForm = FindWindow("ThunderDFrame", Caption)
lPrevStyle = GetWindowLong(hForm, GWL_STYLE)
'Show button Min, Max, Close, Resize form
SetWindowLong hForm, GWL_STYLE, lPrevStyle Or _
(WS_MINIMIZEBOX Or WS_MAXIMIZEBOX Or WS_SIZEBOX)
End Sub
Private Sub UserForm_Terminate()
SetWindowLong hForm, GWL_STYLE, lPrevStyle
End Sub
[/GPECODE]