1. 폼에 5 개의 CommandButton 을 만듭니다.
Command1 : Caption = "화면 복귀"
Command2 : Caption = "이동"
Command3 : Caption = "크기 변경"
Command4 : Caption = "아이콘 표시"
Command5 : Caption = "전체 화면 표시"
2. 폼에 아래와 같이 코딩하시기 바랍니다.
Public LastState As Integer
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Private Const WM_SYSCOMMAND = &H112
Private Const SC_MOVE = &HF010&
Private Const SC_RESTORE = &HF120&
Private Const SC_SIZE = &HF000&
Private Sub Command1_Click()
SendMessage hwnd, WM_SYSCOMMAND, SC_RESTORE, 0&
End Sub
Private Sub Command2_Click()
SendMessage hwnd, WM_SYSCOMMAND, SC_MOVE, 0&
End Sub
Private Sub Command3_Click()
SendMessage hwnd, WM_SYSCOMMAND, SC_SIZE, 0&
End Sub
Private Sub Command4_Click()
WindowState = vbMinimized
End Sub
Private Sub Command5_Click()
WindowState = vbMaximized
End Sub
Private Sub Form_Load()
If WindowState = vbMinimized Then
LastState = vbNormal
Else
LastState = WindowState
End If
End Sub
' 폼의 버튼을 상황에 따라 Enable, Disable 시키는 부분
Private Sub Form_Resize()
Select Case WindowState
Case vbMinimized
Command1.Enabled = True
Command2.Enabled = False
Command3.Enabled = False
Command4.Enabled = False
Command5.Enabled = True
Case vbMaximized
Command1.Enabled = True
Command2.Enabled = False
Command3.Enabled = False
Command4.Enabled = True
Command5.Enabled = False
Case vbNormal
Command1.Enabled = False
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
End Select
If WindowState <> vbMinimized Then LastState = WindowState
End Sub