반응형
아주 간단하다.
폼이름과 모듈을 추가해서 코드만 넣으면 가능하다
나의 경우
버튼을 하나 만들고 클릭시 아래 코드를 넣었다.
Private Sub SetTopWindow_Click()
'// 항상위 설정
Dim lR As Long
If SetTopWindow.Caption = "항상위" Then
SetTopWindow.Caption = "일반폼"
lR = SetTopMostWindow(funcmngX.hwnd, False)
Else
SetTopWindow.Caption = "항상위"
lR = SetTopMostWindow(funcmngX.hwnd, True)
End If
End Sub
항상위로 설정할 폼이름은 funcmngX 이다.
클릭시 버튼의 Caption이 항상위이면 일반폼으로 글자를 설정하고
SetTopMostWindow(funcmngX.hwnd, False) 로 설정한다. (일반폼)
그반대로 설정하면
SetTopMostWindow(funcmngX.hwnd, True)로 항상위가 설정되는 것이다.
아래 기술문서 링크
항상 위에 표시되는 폼을 만드는 방법
기술 자료 ID | : | 184297 |
마지막 검토 | : | 2007년 12월 26일 수요일 |
수정 | : | 2.3 |
요약
Microsoft Visual Basic에서는 폼을 맨 위 창으로 만드는 속성이나 메서드를 제공하지 않습니다. 폼을 맨 위 창으로 만들려면 SetWindowPos Win32 API를 사용하면 됩니다.
이 문서에서는 SetWindowPos Win32 API를 사용하여 폼을 맨 위 창으로 만드는 방법을 보여 줍니다.
이 문서에서는 SetWindowPos Win32 API를 사용하여 폼을 맨 위 창으로 만드는 방법을 보여 줍니다.
추가 정보
아래에 나와 있는 예제 코드에서는 SetTopMostWindow라는 함수를 사용합니다. SetTopMostWindow 함수는 자신에게 전달되는 두 개의 매개 변수 hwnd와 Topmost를 기반으로 창을 맨 위 창이나 일반 창으로 설정합니다.
hwnd 매개 변수는 맨 위 창이나 일반 창으로 설정할 창의 핸들을 지정합니다.
Topmost 매개 변수는 폼을 맨 위 창으로 설정할지 아니면 일반 창으로 설정할지 여부를 지정합니다. 값이 true이면 폼이 항상 맨 위에 표시되고 값이 false이면 폼이 일반 창으로 설정됩니다.
"항상 위" 명령 단추를 누르면 폼이 맨 위 창이 되고 모든 창의 맨 위에 표시됩니다. 따라서 이 창 위에는 다른 창을 놓을 수 없습니다. "일반" 단추를 누르면 폼이 정상적으로 동작합니다. 이 경우 이 창 위에 다른 창을 놓을 수 있습니다.
hwnd 매개 변수는 맨 위 창이나 일반 창으로 설정할 창의 핸들을 지정합니다.
Topmost 매개 변수는 폼을 맨 위 창으로 설정할지 아니면 일반 창으로 설정할지 여부를 지정합니다. 값이 true이면 폼이 항상 맨 위에 표시되고 값이 false이면 폼이 일반 창으로 설정됩니다.
단계별 예제
1. | 새 표준 EXE 프로젝트를 시작합니다. 기본적으로 Form1이 만들어집니다. |
2. | Form1에 명령 단추 두 개(Command1 및 Command2)를 추가합니다. |
3. | Command1의 캡션 속성을 "항상 위"로 설정합니다. |
4. | Command2의 캡션 속성을 "일반"으로 설정합니다. |
5. | Form1 선언 구역에 다음 코드를 붙여 넣습니다.
|
6. | 프로젝트 메뉴에서 모듈 추가를 눌러 프로젝트에 새 모듈을 추가합니다. |
7. | 새 모듈에 다음 코드를 추가합니다.
참고: 위의 예제 코드에서 줄 끝의 밑줄(_)은 줄 연속 문자로 사용됩니다. |
8. | F5 키를 눌러 프로젝트를 실행합니다. |
참조
자세한 내용은 Microsoft 기술 자료에서 다음 문서를 참조하십시오.
Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹 (http://support.microsoft.com/newsgroups/default.aspx)에 참여하시기 바랍니다.
84251 (http://support.microsoft.com/kb/84251/EN-US/) Visual Basic에서 맨 위 또는 부동 창을 만드는 방법
150233 (http://support.microsoft.com/kb/150233/EN-US/) FIX: 디자인 환경에서 맨 위 창이 맨 위에 표시되지 않는다
또한 VB\Samples\CallDlls 폴더에 있는 CallDlls 예제 프로젝트를 참조할 수도 있습니다. CallDlls 예제는 폼을 맨 위 창으로 설정하는 코드를 포함하고 있으며 예제에서 실례로 보여 줍니다. 150233 (http://support.microsoft.com/kb/150233/EN-US/) FIX: 디자인 환경에서 맨 위 창이 맨 위에 표시되지 않는다
Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹 (http://support.microsoft.com/newsgroups/default.aspx)에 참여하시기 바랍니다.
본 문서의 정보는 다음의 제품에 적용됩니다.
• | Microsoft Visual Basic 4.0 Professional Edition |
• | Microsoft Visual Basic 5.0 Professional Edition |
• | Microsoft Visual Basic 6.0 Professional Edition |
• | Microsoft Visual Basic 4.0 Enterprise Edition |
• | Microsoft Visual Basic 5.0 Enterprise Edition |
• | Microsoft Visual Basic 6.0 Enterprise Edition |
키워드: |
kbhowto KB184297 |