블로그 이미지
Kanais
Researcher & Developer 퍼즐을 완성하려면 퍼즐 조각들을 하나 둘씩 맞춰나가야 한다. 인생의 퍼즐 조각들을 하나 둘씩 맞춰나가다 보면 인생이란 퍼즐도 완성되는 날이 오려나...?

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

05-02 09:56

Recent Post

Recent Comment

Recent Trackback

Archive

2015. 5. 11. 11:20 Programming/Win32 API

이글은 '선문비트 고급과정'에서 강의받은 내용을 토대로 작성하였으며, 비트 교육센터 자료를 참고하여 올린내용입니다. 

문제가 될시 삭제가 될 수 있습니다.

작성날짜    : 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
posted by Kanais