- 컨트롤의 정의
컨트롤(Control)이란 사용자와의 인터페이스를 이루는 도구이다. 인터페이스를 이룬다는 말은 사용자로부터 명령과 입력을 받아들이고 출력 결과를 보여준다는 듯이므로 컨트롤은 곧 입출력 도구를 뜻한다.
- 컨트롤의 특징
컨트롤도 하나의 윈도우이다. (컨트롤도 각각의 Handle을 갖고있음) 컨트롤은 항상 부모윈도우의 자식으로 붙어있다.
컨트롤은 차일드 윈도우(자식 윈도우)이기 때문에 예외없이 WS_CHILD스타일을 주어야한다.
생성한 컨트롤은 부모 윈도우가 파괴될 때 자동으로 파괴되므로 일부러 파괴할 필요는 없다.
- 컨트롤의 동작
컨트롤은 프로그램 실행중에 끊임없이 사용자와 통신을 하는데 컨트롤을 통해 명령(wParam)과 정보(lParam)를 받아들이고, 컨트롤을 통해 사용자에게 실행 결과를 보고한다.
- 표준 컨트롤
컨트롤은 아래와 같은 6가지의 표준 컨트롤이 있다.
윈도우 클래스 |
컨트롤 |
button |
버튼, 체크, 라디오 |
static |
텍스트 |
scrollbar |
스크롤바 |
edit |
에디트 |
listbox |
리스트박스 |
combobox |
콤보박스 |
- Windows API에서 컨트롤의 사용
윈도우를 만들때는 WNDCLSS형의 구조체를 정의하고 RegisterClass함수로 등록한 후 CreateWindow함수를 호출한다.하지만 컨트롤은 운영체제 차원에서 제공해주기 때문에 윈도우 클래스를 등록할 필요없이 미리 등록되어 있는 윈도우 클래스를 사용하기만 하면 된다.
버튼 하나를 생성하는 예제이다.
예제 ) CreateWindow(TEXT("button"), TEXT("Test Button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON
, 20, 20, 100, 25, HWND, (HMENU)0, g_hInst, NULL);
'Programming > API' 카테고리의 다른 글
화면 고속캡쳐 참고 사이트 (0) | 2012.06.10 |
---|---|
몇가지 함수에 대한 정리 (0) | 2012.06.10 |
COLORREF 와 RGB에 대해서 (0) | 2012.06.10 |
API 주요메시지 종류 (0) | 2012.06.10 |