프로그래밍
[vb.net] 폼을 항상위로 표시
프로세스 천국
2011. 3. 15. 09:25
두가지 방법이 있는데 하나는 Lib "user32" 를 이용한방법
Private Const HWND_TOPMOST As Integer = -1
Private Const HWND_NOTOPMOST As Integer = -2
Private Const SWP_NOSIZE As Integer = &H1
Private Const SWP_NOMOVE As Integer = &H2
Private Const SWP_NOACTIVATE As Integer = &H10
Private Const FLAGS As Integer = SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal ByValcx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
그리고 이벤트에 다음의 코드를 입력
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, FLAGS) '항상위
SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS) '해제
다른방법은
폼 등록정보에서 TopMost 를 True로 선택하거나 이벤트에 Me.TopMost = True 입력한다.
Private Const HWND_TOPMOST As Integer = -1
Private Const HWND_NOTOPMOST As Integer = -2
Private Const SWP_NOSIZE As Integer = &H1
Private Const SWP_NOMOVE As Integer = &H2
Private Const SWP_NOACTIVATE As Integer = &H10
Private Const FLAGS As Integer = SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal ByValcx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
그리고 이벤트에 다음의 코드를 입력
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, FLAGS) '항상위
SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS) '해제
다른방법은
폼 등록정보에서 TopMost 를 True로 선택하거나 이벤트에 Me.TopMost = True 입력한다.