본문 바로가기
Programming/API

컨트롤(Control)에 대한 기본정리

by 황금표정 2012. 12. 10.

- 컨트롤의 정의

컨트롤(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