▶ 뭉충닷컴
 
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 JAVA xss 방어를 위한 설정 방법 뭉충닷컴 2017-03-31 220
550 Script 문자열관련 prototype 모음 뭉충닷컴 2015-09-04 286
549 리눅스 (13)permission denied: make_sock: could not bind to address 0.0.0.0:80 뭉충닷컴 2017-11-28 363
548 기타 jenkins에서 Your container doesn’t use UTF-8 to decode URLs 오류 뜰경우 뭉충닷컴 2017-11-10 417
547 Script jquery를 이용한 파일첨부시 진행바(progress) 처리 뭉충닷컴 2017-09-27 435
546 기타 svn 능력자를 위한 git 개념 가이드 뭉충닷컴 2015-03-27 471
545 리눅스 주기적으로 아파치/톰캣 프로세스 갯수 로깅 남기기 file [3] 뭉충닷컴 2017-06-09 518
544 이클립스 갑자기 eclipse 실행이 안되는경우 뭉충닷컴 2015-04-16 596
543 기타 아파치 설정관련 참고할만한 글 뭉충닷컴 2014-12-23 1338
542 Script 인쇄 전/후 script 함수 (멀티브라우저) 뭉충닷컴 2014-04-21 2060
541 HTML class정의된 style의 내용을 inline style 형태로 변환해주는 사이트 뭉충닷컴 2013-12-20 2180
540 기타 xe 로그인 풀림 방지 tip [1] 뭉충닷컴 2014-03-26 2234
539 JAVA java poi 엑셀파일 다운로드시 암호 설정 [1] 뭉충닷컴 2017-10-18 2474
538 리눅스 파일 copy 하면서 디렉토리까지 같이 생성하기 뭉충닷컴 2014-02-11 2483
537 기타 bat 파일에서 파일정보들 가져오기 뭉충닷컴 2014-02-05 2600
536 리눅스 특정날짜에 해당하는 파일 찾기 뭉충닷컴 2014-07-25 2794
535 리눅스 bash 변수내의 문자열 replace 뭉충닷컴 2013-07-30 2835
534 리눅스 winscp를 이용한 rcp 파일 업로드 뭉충닷컴 2014-07-31 3053
533 이클립스 IEditorPart 선택된 값 변환(변경) 뭉충닷컴 2013-04-20 3324
532 기타 아파치 공사중 페이지 설정 뭉충닷컴 2014-05-13 3594
531 JAVA 디렉토리안의 파일 목록 모두 가져오기 (하위 디렉토리 까지 포함) 뭉충닷컴 2014-01-08 3690
530 이클립스 IEditorPart 선택된 텍스트값 알기 뭉충닷컴 2013-04-20 3755
529 Script Ajax 를 순차적으로 여러개 불러오기 뭉충닷컴 2014-08-22 3800
528 이클립스 플러그인 개발시 메뉴에 단축키 적용하기 뭉충닷컴 2013-04-21 3812
527 Script Javascript 로 class 이용하는 여러가지 방법들 뭉충닷컴 2012-06-13 4080
526 JAVA Invalid byte 1 of 1-byte UTF-8 sequence 오류 해결하기 뭉충닷컴 2013-11-27 4194
525 리눅스 sqlplus 실행결과를 bash 변수에 저장 뭉충닷컴 2013-07-30 4312
524 리눅스 오라클 imp/exp에서 where 절 사용하기 뭉충닷컴 2013-07-11 4729
523 리눅스 bash shell 사용자 입력 받기 뭉충닷컴 2013-07-12 4735
522 JAVA 자바에서 로그가 두번씩 찍힐 때 뭉충닷컴 2012-10-10 4809
521 JAVA 자바빈에 있는 메서드명을 파라미터로 받아서 실행할 경우 뭉충닷컴 2012-08-31 4881
520 JAVA xml 문자열을 node 객체로 만들기 뭉충닷컴 2012-09-24 4889
519 기타 apache에서 httpd-ssl 사용시 서버 안올라갈경우 뭉충닷컴 2013-01-31 4935
518 이클립스 이클립스 플러그인시 개발시 IWorkbenchWindow 값 구하기 뭉충닷컴 2012-11-25 5017
517 JAVA HashCodeBuilder 뭉충닷컴 2012-12-14 5039
516 JAVA 파일사이즈를 읽기편하게 변환하기 뭉충닷컴 2012-11-30 5121
515 JAVA 이클립스 플러그인개발시 선택된 텍스트 뭉충닷컴 2012-11-21 5264
514 Script 한글 자소분리 초간단 버젼 뭉충닷컴 2012-06-15 5322
513 Script 셀렉트 박스의 값들을 왼쪽 or 오른쪽 이동 시키는 스크립트 뭉충닷컴 2004-11-17 5393
512 Script [re] Select 의 option 데이타 위,아래 이동시키는 스크립트 - 더 좋은 방법 뭉충닷컴 2006-11-23 5487
511 Script TDC, 테이블 행 색이 격으로 변하도록 [1] 뭉충닷컴 2004-08-24 5488
510 Script [미완성] asp파일 변수 생성해주기 file [1] 뭉충닷컴 2006-02-06 5490
509 Script 2000개 체크박스 전체체크 시간비교 file 뭉충닷컴 2007-12-03 5491
508 Script 선택된 텍스트 값 읽어오기 뭉충닷컴 2005-11-12 5505
507 Script 파일업로드시 직접입력 못하게 뭉충닷컴 2005-07-07 5508
506 Script 자바스크립트로 Stylesheet(스타일시트) 다루기 - 버튼 보이고 안보이고 뭉충닷컴 2004-10-08 5513
505 리눅스 특정기간내에 변경된 파일 찾아서 압축 뭉충닷컴 2012-05-04 5526
504 Script time이벤트들 뭉충닷컴 2004-01-28 5528
503 Script 폼검증시 필수입력해줘야 하는항목들 미리 표시해주기 뭉충닷컴 2006-03-22 5539
502 Script 엄청 간단한 iframe 크기 자종 조절 스크립트 뭉충닷컴 2004-04-08 5543
501 Script TDC에 관한 좋은 Articles - 슬금슬금 읽어두면 괜찮을듯 뭉충닷컴 2006-01-27 5562
500 DataBase connect by를 이용한 몇가지 쿼리 뭉충닷컴 2011-11-29 5575
499 리눅스 일정 시간 간격으로 리눅스 명령어 반복 실행 뭉충닷컴 2014-04-22 5584
498 HTML 이미지에 map 이용하기 뭉충닷컴 2004-02-04 5593
497 Script 자신이 오픈으로 열린창인지 그냥 연 창인지 구분하는 스크립트 뭉충닷컴 2004-09-20 5596
496 HTML 레이어 이용하기 뭉충닷컴 2003-12-04 5597
495 Script 몇개의 함수로 이미지에 팝업보기 간편하게 하기 [1] 뭉충닷컴 2005-12-26 5618
494 Script textarea의 크기를 입력된 내용에 맞게 늘리는 스크립트 뭉충닷컴 2004-07-12 5624
493 Script 폼 컨트롤들 중에서 onchang 이벤트 발생한적 있는지 검사하는 스크립트 [1] 뭉충닷컴 2007-09-23 5634
492 Script MS에서 현재 이용중인 왼쪽 메뉴 file 뭉충닷컴 2004-03-12 5635