폼에 Picture박스를 한개 가져다 놓고,
아래와 같이 Visible속성을 적용하여 객체를 가시적으로 표현할 수 있습니다.
감출땐
Picture1.Visible = False ' Hide
보이게할땐
Picture1.Visible = True ' Show
이와 동일한 효과를 주기위해 ShowWindow 를 이용하여 폼이나 컨트롤 등의 핸들값을 가지는 객체를 Show/Hide 할 수 있습니다.
Private Declare Function ShowWindow Lib "user32" _
(ByVal hWnd As Long, _
ByVal nCmdShow As Long) As Long
Private Const SW_HIDE = 0
Private Const SW_SHOW = 5
프로젝트 내에서 접근가능한 객체를 위와같이 Show/Hide하진 않지만 대상이 윈도우의 시작버튼이나 다른 프로그램의 경우라면
ShowWindow와 같은 API를 사용해야 합니다.
참고가 될만한 예로 바탕화면에 있는 아이콘을 말끔하게 지워버리는(?) 간단한 코드를 작성해봅니다.
폼에 Command버튼을 2개 만들고 각 버튼의 Caption 값을 Hide 와 Show로 합니다.
Private Declare Function FindWindowEx Lib "user32" Alias _
"FindWindowExA" _
(ByVal hWnd1 As Long, _
ByVal hWnd2 As Long, _
ByVal lpsz1 As String, _
ByVal lpsz2 As String) As Long
Private Declare Function ShowWindow Lib "user32" _
(ByVal hWnd As Long, _
ByVal nCmdShow As Long) As Long
Private Const SW_HIDE = 0
Private Const SW_SHOW = 5
'Hide 하는 버튼
Private Sub Command1_Click()
Dim lHandle As Long
lHandle = FindWindowEx(0&, 0&, "Progman", vbNullString)
ShowWindow lHandle, SW_HIDE
End Sub
'Show 하는 버튼
Private Sub Command2_Click()
Dim lHandle As Long
lHandle = FindWindowEx(0&, 0&, "Progman", vbNullString)
ShowWindow lHandle, SW_SHOW
End Sub
lHandle 변수에 대상이 되는 객체에 핸들값을 얻어 ShowWindow 함수에 첫번째 인자값으로 넘겨주고
SW_HIDE 또는 SW_SHOW 를 두번째 인자에 적용하기만 하면 되는 예입니다.
대상 객체의 핸들값을 구할 수 있는 방법은 여러가지 방법이 있겠지만 대체로 FindWindowEx, FindWindow 등을 이용하니
검색을 통해 더 많은 정보를 찾으시길 바람니다.
Tip.
'VB6 > Interface' 카테고리의 다른 글
폼에 보여줄 영역 만들기(구멍난 폼) (0) | 2013.03.28 |
---|---|
폼 타이틀바 Show/Hide (0) | 2013.03.28 |
폼 위치, 크기 구하기 (0) | 2013.03.27 |
폼 투명도 주기 (0) | 2013.03.27 |
폼 타이틀바 이동효과 (0) | 2013.03.26 |