'베이직에서 윈도우즈 스타일을 바꿔줍니다.
Me.BorderStyle = 0

Option Explicit

'Win32 API 사용을 선언 합니다.
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageW" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Private Declare Function ReleaseCapture Lib "user32.dll" () As Long

Private Const WM_SYSCOMMAND As Long = &H112
Private Const WM_NCLBUTTONDOWN As Long = &HA1

Private Const SC_RESTORE As Long = &HF120& '윈도우 복귀
Private Const SC_MINIMIZE As Long = &HF020& '윈도우 최소화
Private Const SC_MAXIMIZE As Long = &HF030& '윈도우 최대화

Private Const HTCAPTION As Long = 2 '윈도우 캡션 이동
Private Const HTLEFT As Long = 10 '윈도우 왼쪽 크기 조절
Private Const HTRIGHT As Long = 11 '윈도우 오른쪽 크기 조절
Private Const HTTOP As Long = 12 '윈도우 상단 크기 조절
Private Const HTBOTTOM As Long = 15 '윈도우 하단 크기 조절
Private Const HTBOTTOMLEFT As Long = 16 '윈도우 하단 왼쪽 크기 조절
Private Const HTBOTTOMRIGHT As Long = 17 '윈도우 하단 오른쪽 크기 조절
Private Const HTTOPLEFT As Long = 13 '윈도우 상단 왼쪽 크기 조절
Private Const HTTOPRIGHT As Long = 14 '윈도우 상단 오른쪽 크기 조절

Private Const nil As Long = 0&

'이제 해당 상수들을 조합하여, Sendmessage 함수를 사용합니다. 대상은 자신의 윈도우 or 다른 윈도우 (MouseDown or Click)
SendMessage Me.hwnd, WM_SYSCOMMAND, SC_MINIMIZE, nil


'하단 크기조절 MouseDown 이벤트에 넣습니다.
ReleaseCapture
SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTBOTTOM, nil


'윈도우 캡션 이동 MouseDown 이벤트에 넣습니다.
ReleaseCapture
SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, nil

Posted by Nightly Luna
,
® © Tanny Tales
/ rss