이글은 '선문비트 고급과정'에서 강의받은 내용을 토대로 작성하였으며, 비트 교육센터 자료를 참고하여 올린내용입니다.
문제가 될시 삭제가 될 수 있습니다.
작성날짜 : 2011-03-16 |
생성시 CreateWindow를 사용.
- 기본 컨트롤 : Win32에서 제공하는 컨트롤
- 응용 컨트롤 : Win32를 이용해 만들어서 사용하는 사용자 정의 컨트롤(내부적)
해당되는 DLL을 포함해야함.(ComCtl32.dll).. ListView, Tab, TreeView등등.
- 사용자 정의(지정) 컨트롤
CreateWindow(" "," ", ‥,pWnd,‥,IDB_START, );
캡션명. 메뉴 대신..
버튼
BS_PUSHBUTTON
BS_CHECKBOX 부분적 상호배제할 경우가 있음.(EX.3개중 2개만 선택가능)
윈도우에서 처리하고 남은 값을 리턴.
선택되었는지 안되어있는지 상태를 알려고할때... SendMessage를 사용.
PostMessage : 응용큐에 단지 붙여주는 역할을 함.
SendMessage(hWnd, BM_GETCHECK,0,0); //상태값을 가져올시
BST_CHECKED
BST_UNCHECKED
BST_INDETERMINATE
SendMessage(hWnd, BM_SETCHECK, (WPARAM)BST_CHECKED,0); //상태값을 설정시
// 넘겨줄시 wParam,lParam으로 형변환을 시켜서 넘겨주면 좋음.
BS_RADIOBUTTON
★CheckRadioButton(부모hWnd, ID_START, ID_END,IINT_BUTTON);
ID의 상수값을 확인하고 순서대로 안되어있을시 순서대로 수정해줘야함.
리스트박스
콤보 박스 (Edit과 ListBox가 합쳐져서 만들어져있기때문에.. ListBox를 사용하는것과 비슷함.)
메시지가 많기때문에 설정할시 통지메시지에 따라서 해줘야함.
리소스편집기로 생성할시 디폴트스타일이 무엇인지 꼭 확인해보기.
MessageLoop에서 Translate메시지를 하지않게되면 TextBox는 제대로 동작하지 않는다.
Translate메시지를 쓰지않으면 TextBox에는 아무글로 써지지 않음.
Static
Static 윈도우를 만들시 ID값을 전부다 다르게 부여한다면, 윈도우를 다양하게 변경할 수 있음.
스크롤바
┌─┬──────────┬┬───────────┬─┐
│◀│ ││ │▶│
└─┴──────────┴┴───────────┴─┘
WM_HSCROLL
WM_COMMAND가 발생하지 않는다.
WM_HSCROLL과 WM_VSCROLL이 발생한다.
이유에 해당하는부분이 WPARAM이 아니다.
어떤 스크롤이 발생했는지 LPARAM이 보관
대화상자로 만들지 않으면 알고 있어야함.
SetScrollRange(sWnd, SB_CTL, -100,200,true);
1 2
1은 SB_CTL만 온다고 보면됨
2는 마음대로 변경해도 상관없음.
스크롤바의 상태변경시 현재 스크롤바의 포지션을 보관해 둬야함.
SetScrollPos(sWnd, 위치, true);
이 값이 false라면 스크롤바의 상태변경시 변경된것이 안보임.
'Programming > Win32 API' 카테고리의 다른 글
[Win32 API] API 에 자주 쓰이는 것들? (2) | 2015.05.11 |
---|---|
[Win32 API] Win32 API, Window와 Unix (0) | 2015.05.11 |
[Win32 API] 동기화 처리방법 (0) | 2015.05.11 |
[Win32 API] 동기화 (0) | 2015.05.11 |
[Win32 API] CreateFile 함수 (0) | 2015.05.11 |