▶ 뭉충닷컴
 
mungchung.com login
Site Search
My Space
주절주절...
공부방
쥔장소개
Board
자유게시판
유용한 정보
Programming
강좌 & Articles
Spring 3.0
프로그래밍 Tip
   -ASP
   -PHP
   -JavaScript
   -HTML
   -Java/JSP
   -Database
   -Crystal Report
   -Visual Basic
   -이클립스
   -리눅스
   -기타
Windows API (VB)
Spread Sheet 7.0
컴퓨터활용 Tip
Other things
StarCraft 전략
StarCraft 문서
김용(金庸)
Son Q & Dieda

폼 제목표시줄(타이틀바)의 최소화, 최대화 버튼을 없애거나 추가하거나 하는 방법이다.

출처 : http://www.andreavb.com/tip050002.html

API Declarations
Option Explicit

Private Declare Function DeleteMenu Lib "user32.dll" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function GetSystemMenu Lib "user32.dll" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nindex As Long, ByVal dwnewlong As Long) As Long
Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nindex As Long) As Long

Public Const MF_BYCOMMAND = &H0&
Public Const MF_BYPOSITION = &H400&
Public Const SC_ARRANGE = &HF110
Public Const SC_CLOSE = &HF060
Public Const SC_HOTKEY = &HF150
Public Const SC_HSCROLL = &HF080
Public Const SC_KEYMENU = &HF100
Public Const SC_MAXIMIZE = &HF030
Public Const SC_MINIMIZE = &HF020
Public Const SC_MOVE = &HF010
Public Const SC_NEXTWINDOW = &HF040
Public Const SC_PREVWINDOW = &HF050
Public Const SC_RESTORE = &HF120
Public Const SC_SIZE = &HF000
Public Const SC_VSCROLL = &HF070
Public Const SC_TASKLIST = &HF130
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Public Const HWND_TOP = 0
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOMOVE = &H2
Public Const GWL_STYLE = (-16)

Public Enum T_WindowStyle
    WS_BORDER = &H800000
    WS_CAPTION = &HC00000
    WS_CHILD = &H40000000
    WS_CHILDWINDOW = (WS_CHILD)
    WS_CLIPCHILDREN = &H2000000
    WS_CLIPSIBLINGS = &H4000000
    WS_DISABLED = &H8000000
    WS_DLGFRAME = &H400000
    WS_EX_ACCEPTFILES = &H10&
    WS_EX_DLGMODALFRAME = &H1&
    WS_EX_NOPARENTNOTIFY = &H4&
    WS_EX_TOPMOST = &H8&
    WS_EX_TRANSPARENT = &H20&
    WS_GROUP = &H20000
    WS_HSCROLL = &H100000
    WS_MAXIMIZE = &H1000000
    WS_MAXIMIZEBOX = &H10000
    WS_MINIMIZE = &H20000000
    WS_MINIMIZEBOX = &H20000
    WS_OVERLAPPED = &H0&
    WS_ICONIC = WS_MINIMIZE
    WS_POPUP = &H80000000
    WS_VISIBLE = &H10000000
    WS_VSCROLL = &H200000
    WS_SYSMENU = &H80000
    WS_TABSTOP = &H10000
    WS_THICKFRAME = &H40000
    WS_TILED = WS_OVERLAPPED
    WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED Or WS_CAPTION Or WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or          WS_MAXIMIZEBOX)
    WS_POPUPWINDOW = (WS_POPUP Or WS_BORDER Or WS_SYSMENU)
    WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW
    WS_SIZEBOX = WS_THICKFRAME
End Enum



Module
'Brings the specified form in the top most position, it will be over all other
'forms in the screen, even if they will receive the focus
Public Sub FormTopMost(hWnd As Long)
    SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE
End Sub

'Brings the form in his standard Z-Order
Public Sub FormNoTopMost(hWnd As Long)
    SetWindowPos hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE
End Sub

'Brings the form in the top position of the Z-Order, if another form takes the
'focus it will become the new top form
Public Sub FormTop(hWnd As Long)
    SetWindowPos hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE
End Sub

'Remove the form's system menu, if RemoveClose is true the Close command inside the
'menu is removed too, in this case even the X key in the right upper cornet of the
'form will be removed
Public Sub RemoveSystemMenu(hWnd As Long, RemoveClose As Boolean)
    Dim hMenu As Long

    hMenu = GetSystemMenu(hWnd, False)
    DeleteMenu hMenu, SC_MAXIMIZE, MF_BYCOMMAND
    DeleteMenu hMenu, SC_MINIMIZE, MF_BYCOMMAND
    DeleteMenu hMenu, SC_SIZE, MF_BYCOMMAND
    DeleteMenu hMenu, SC_MOVE, MF_BYCOMMAND
    DeleteMenu hMenu, SC_RESTORE, MF_BYCOMMAND
    DeleteMenu hMenu, SC_NEXTWINDOW, MF_BYCOMMAND
    If RemoveClose Then
        DeleteMenu hMenu, SC_CLOSE, MF_BYCOMMAND
        DeleteMenu hMenu, 0, MF_BYPOSITION
    End If
End Sub

'Hides the upper right keys Maximize and minimize
Public Sub RemoveMaxMinButtons(hWnd As Long)
    Dim x As Long

    x = GetWindowLong(hWnd, GWL_STYLE)
    x = x And Not WS_MINIMIZEBOX
    x = x And Not WS_MAXIMIZEBOX
    SetWindowLong hWnd, GWL_STYLE, x
End Sub

'Shows the upper right keys Maximize and minimize
Public Sub AddMaxMinButtons(hWnd As Long)
    Dim x As Long

    x = GetWindowLong(hWnd, GWL_STYLE)
    x = x Or WS_MINIMIZEBOX
    x = x Or WS_MAXIMIZEBOX
    SetWindowLong hWnd, GWL_STYLE, x
End Sub

'Set the attribute of a window: the module has a public enum type that contains
'all the constants to define a window style (used by others Subs)
Public Sub SetWindowStyle(hWnd As Long, mAttribute As T_WindowStyle, Enable As Boolean)
    Dim x As Long

    x = GetWindowLong(hWnd, GWL_STYLE)
    If Enable Then
        x = x Or mAttribute
    Else
        x = x And Not mAttribute
    End If
    SetWindowLong hWnd, GWL_STYLE, x
End Sub

문서 첨부 제한 : 0Byte/ 2.00MB
파일 크기 제한 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
551 ASP ASP 해킹 방지 보안 방법(injection, cross site scripting...) [3] 뭉충닷컴 2007-06-13 38706
550 JAVA getRequestURL jsp / servlet / java 현재 경로 알아내기 뭉충닷컴 2009-11-09 30829
549 JAVA HashMap, TreeMap, Hashtable 사용법 정리 file 뭉충닷컴 2008-01-29 29758
548 ASP 자동가입방지 그림문자 생성기 (CAPTCHA) [1] 뭉충닷컴 2007-05-16 24586
547 DataBase comma 구분자 데이터를 row 형태로 가져오기 (SUBSTRING_INDEX 이용) 뭉충닷컴 2015-07-06 22585
546 리눅스 리눅스 shell script로 날짜별로 로그파일 지우기 뭉충닷컴 2009-04-29 21866
545 DataBase 오라클에서 특정문자개수 구하기 [1] 뭉충닷컴 2009-12-30 21698
544 DataBase 오라클의 sequence 시작값 초기화 또는 변경 하기 뭉충닷컴 2009-02-23 21011
543 ASP [Win2003]CDO.Message.1 오류 80070005 액세스가 거부되었습니다. file 뭉충닷컴 2008-07-14 20268
542 이클립스 Java compiler level does not match the version of the installed Java project facet file 뭉충닷컴 2009-09-22 19847
541 DataBase dblink를 통한 insert시 속도향상 뭉충닷컴 2010-04-08 19658
540 DataBase 오라클 UPDATE JOIN 뭉충닷컴 2009-05-07 19610
539 Script 문자를 아스키코드로 변환, 아스키코드를 문자로 변환 뭉충닷컴 2010-12-22 19434
538 JAVA 자바 소수점 자릿수 값 가져오기 뭉충닷컴 2010-01-14 19225
537 ASP ASP 정규식을 이용하여 문자열 패턴 적용하기 뭉충닷컴 2007-06-13 19120
536 VB 엑셀(Excel)과 엑서스(Access) mdb 파일 서로 연동하기 뭉충닷컴 2005-10-06 19001
535 DataBase 오라클 문자열 관련 함수 뭉충닷컴 2008-01-23 18883
534 기타 Toad 결과를 엑셀(.xls)로 내보낼 때 한글 깨짐문제 해결하기 뭉충닷컴 2008-03-31 18514
533 VB vbMHWB 컨트롤을 이용해 VB로 HTML , Script 제어하기 file 뭉충닷컴 2006-12-01 17967
532 기타 에디트 플러스(editplus)용 zen coding file [2] 뭉충닷컴 2010-02-05 17856
531 ASP URL에서 특수문자 오류나는 것 처리하기(escape, unescape) [2] 뭉충닷컴 2007-05-02 17751
530 이클립스 dialog 창 크기조절 가능하도록(resize) 뭉충닷컴 2009-05-09 17589
529 이클립스 이클립스에서 톰캣 메모리 설정 뭉충닷컴 2010-06-29 17448
528 ASP 다중검색 쿼리 만들기 [2] 헤븡 2008-07-27 17290
527 JAVA 자바에서 외부 프로그램 실행방법 [1] 뭉충닷컴 2009-05-08 17273
526 ASP ASP로 엑셀(Excel) 파일 다루기 뭉충닷컴 2003-11-03 17161
525 이클립스 Syntax error, parameterized types are only available if source level is 5.0 file 뭉충닷컴 2009-09-22 17006
524 리눅스 find 명령어 여러가지 사용법 (리눅스 파일 찾기) 뭉충닷컴 2011-01-21 16967
523 리눅스 톰캣 프로세스 pid 파일로 저장 및 강제종료 뭉충닷컴 2009-08-26 16813
522 DataBase 오라클 문자열 byte 길이 가져오기 뭉충닷컴 2008-09-24 16704
521 이클립스 Text swt에 키보드 이벤트 ctrl + a 적용하기 뭉충닷컴 2009-05-24 16512
520 Script 자바스크립트로 layer(span, div, iframe) 사이즈 조절 막대 file 뭉충닷컴 2009-12-21 16243
519 JAVA java의 xml document 의 노드 내용 읽기 뭉충닷컴 2009-11-03 16195
518 VB MSFlexGrid의 내용을 Excel로 보내기 file 뭉충닷컴 2004-03-13 16194
517 Script jQuery drag and drop 플러그인 file 뭉충닷컴 2009-03-14 16136
516 DataBase MSSQL에서 날짜의 요일 정보 가져오기 뭉충닷컴 2007-02-01 16134
515 DataBase 오라클에서 숫자만 추출하기 뭉충닷컴 2008-09-29 16114
514 ASP 소수점 몇째 자리 까지 표현하기 뭉충닷컴 2007-03-07 16092
513 ASP 암호화를 이용해 사이트간 SSO 간단하게 처리하기 file 뭉충닷컴 2006-09-02 16091
512 HTML 프레임(frame)위에 레이어(layer) 띄우기 file 뭉충닷컴 2009-11-27 16080
511 ASP asp 에서 html 태그 제거하고 텍스트만 가져오는 함수 [2] 뭉충닷컴 2003-11-03 16056
510 JAVA url 접속해서 html 내용 가져오기 뭉충닷컴 2009-05-06 16043
509 JAVA java, infix를 postfix로 만들기 file 뭉충닷컴 2007-04-05 16039
508 VB SAP와 VB 연동하는 간단한 예제파일 file [1] 뭉충닷컴 2006-12-06 15862
507 JAVA 개발자가 놓치기 쉬운 자바의 개념, 기본원리 뭉충닷컴 2012-03-01 15820
506 Script vbscript 실행 시간 지연 뭉충닷컴 2010-06-09 15812
505 리눅스 (13) Permission denied Error 뭉충닷컴 2009-11-30 15658
504 Script ie에서 경고창 없이 창 닫기 뭉충닷컴 2010-02-19 15592
503 VB VB에서 HTML의 스크립트 함수 호출및 Active X 호출 [1] 뭉충닷컴 2007-05-21 15502
502 Script 팝업창에서 부모창으로 폼값 submit 하기 뭉충닷컴 2007-03-19 15491
501 DataBase 세로행을 가로열에 콤마(,) 붙여서 출력하는 방법 2 -row to col [1] 뭉충닷컴 2008-07-31 15483
500 DataBase 10g 공백제거 정규표현식입니다. 뭉충닷컴 2009-05-15 15444
499 ASP 이전 URL 검사하는 팁(ASP) [1] 뭉충닷컴 2003-11-03 15343
498 기타 톰캣의 org.apache.jk.common.ChannelSocket processConnection 오류 해결하기 뭉충닷컴 2009-11-04 15286
497 ASP ASP 응용 프로그램의 문자열 처리 성능 향상 - 필독! [5] 뭉충닷컴 2007-06-14 15101
» VB 폼의 제목표시줄 최소화, 최대화버튼 다루기 뭉충닷컴 2009-06-16 15075
495 Script showModalDialog (dialogArguments) 뭉충닷컴 2006-04-14 15041
494 DataBase 저장프로시저(sp)에서 테이블을 리턴할때 그걸 select 하는 방법 뭉충닷컴 2007-03-05 15009
493 DataBase 오라클 시퀀스(Sequence)값 한방에 정리하기! 뭉충닷컴 2008-02-29 14971
492 HTML 레이어 팝업 띄워서 마우스로 이동 file 뭉충닷컴 2009-11-26 14941