티스토리 뷰
컨트롤 윈도우란 API에서 제공되어지는 윈도우들을 의미한다.
컨트롤 윈도우의 종류는 버튼, 에디트, 콤보박스, 리스트박스, 스크롤바, 스태틱 등이 있다.
우선 예제부터 보면 다음과 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | LRESULT CALLBACK WndProc(HWND hWnd, UINT mesg, WPARAM wParam, LPARAM lParam) { static HWND btn; switch (mesg) { case WM_CREATE: btn = CreateWindow( L"button", L"CLICK", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON, 0, 0, 50, 50, hWnd, (HMENU)0, NULL, NULL); break; case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd, mesg, wParam, lParam)); } | cs |
위의 실행결과
컨트롤 윈도우를 만드는 것은 앞서 윈도우를 만든 방법과 같다. 단지 인자만 다를 뿐이다.
위를 살펴보면 static으로 버튼 윈도우의 핸들을 선언해주고
그 윈도우 헨들로 CreateWindow()함수로 윈도우를 만들어 주는데
클래스 이름을 Button으로 한 것이다. 2번째 인자는 버튼에 글이 되고, 스타일은 위와 같이 주면 되므로 넘어가고
그 외는 다 이해 하겠지만 그 중에 (HMENU)0 이라는 부분은 일단 접어두고 컨트롤 윈도우 메세지 처리에 이용된다는 것만 알고 있으면 된다.
다른 컨트롤윈도우를 생성하고 싶다면 첫번째 인자에 다른 값을 넣어주면 된다.
위에서 말한 것들을 말하자면 일단 콤보박스는 "combobox"
리스트박스는 "listBox",
스태틱은 "static"을 주면 된다.
아마 뭘 넣어야할지 감이 올 것이다.
그 외에 각 컨트롤 윈도우의 스타일들은 MSDN을 참고 하면 된다.
#C, #C++, #gui, #WinAPI, #컨드롤, #윈도우
'C & C++ > API' 카테고리의 다른 글
부모 윈도우와 자식 윈도우 설정 (0) | 2014.11.06 |
---|---|
메세지 처리 - WndProc() - 1 - (0) | 2014.11.04 |
윈도우 생성 - CreateWindow() (0) | 2014.10.23 |
윈도우 클래스 생성 및 정의 - WNDCLASS (0) | 2014.10.22 |
윈도우 프로그래밍 기초 (0) | 2014.10.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday