티스토리 뷰
윈도우 프로그램을 보면 윈도우 안에 윈도우가 있는 모습을 볼 수 있다.
그 대표적인 예가 바로 Windows에서 제공하는 계산기이다.
가장 큰 윈도우 틀이 부모 윈도우이고 그 안에 필요에 따라 여러 자식 윈도우가 들어있는 계산기 같은 프로그램이 윈도우 프로그램의 가장 기본적인 형태인 셈이다.(앞서본 컨트롤 윈도우도 그 윈도우의 자식 윈도우로써 생성했었다!!!)
부모와 자식 윈도우를 설정해주는 것은 간단하다.
일단 자식 윈도우도 컨트롤 윈도우처럼 그 윈도우의 프로시져(WndProc)에서 생성하는게 일반적이므로 부모 윈도우의 프로시져에서 스태틱으로 윈도우 핸들을 선언해준다.
그리고 늘 윈도우를 생성할 때 사용한 CreateWindow()함수를 사용해서 생성하되 8번째 인자에 부모 윈도우의 핸들을 넣어주면 된다.(부모 윈도우의 프로시져에서 생성하므로 WndProc에 인자로 넘어오는 HWND를 사용하면 쉽게 가능하다!!!)
그러면 부모-자식 관계를 설정 된 것이다.
윈도우 프로그래밍을 하면서 적절히 윈도우 간에 부모-자식 설정을 해놓으면 관리가 수월해진다.
그 예로 부모 윈도우가 파괴되면 자식 윈도우도 파괴 되는 점을 들 수 있다.
(부모-자식 관계가 아니라면 각각 파괴를 해야해서 귀찮다.)
Ex)
1 2 3 | btn = CreateWindow(L"listbox", L"CLICK", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON, 0, 0, 50, 100, hWnd, (HMENU)0, NULL, NULL); break; | cs |
#C, #C++, #gui, #WinAPI, #부모, #자식, #윈도우, #설정
'C & C++ > API' 카테고리의 다른 글
컨트롤 윈도우 (0) | 2014.11.05 |
---|---|
메세지 처리 - WndProc() - 1 - (0) | 2014.11.04 |
윈도우 생성 - CreateWindow() (0) | 2014.10.23 |
윈도우 클래스 생성 및 정의 - WNDCLASS (0) | 2014.10.22 |
윈도우 프로그래밍 기초 (0) | 2014.10.22 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday