티스토리 뷰

윈도우 프로그램을 보면 윈도우 안에 윈도우가 있는 모습을 볼 수 있다.

그 대표적인 예가 바로 Windows에서 제공하는 계산기이다.

 

  가장 큰 윈도우 틀이 부모 윈도우이고 그 안에 필요에 따라 여러 자식 윈도우가 들어있는 계산기 같은 프로그램이 윈도우 프로그램의 가장 기본적인 형태인 셈이다.(앞서본 컨트롤 윈도우도 그 윈도우의 자식 윈도우로써 생성했었다!!!)

 

부모와 자식 윈도우를 설정해주는 것은 간단하다.

  일단 자식 윈도우도 컨트롤 윈도우처럼 그 윈도우의 프로시져(WndProc)에서 생성하는게 일반적이므로 부모 윈도우의 프로시져에서 스태틱으로 윈도우 핸들을 선언해준다.

  그리고 늘 윈도우를 생성할 때 사용한 CreateWindow()함수를 사용해서 생성하되 8번째 인자에 부모 윈도우의 핸들을 넣어주면 된다.(부모 윈도우의 프로시져에서 생성하므로 WndProc에 인자로 넘어오는 HWND를 사용하면 쉽게 가능하다!!!)

  그러면 부모-자식 관계를 설정 된 것이다.

 

윈도우 프로그래밍을 하면서 적절히 윈도우 간에 부모-자식 설정을 해놓으면 관리가 수월해진다.

그 예로 부모 윈도우가 파괴되면 자식 윈도우도 파괴 되는 점을 들 수 있다.

(부모-자식 관계가 아니라면 각각 파괴를 해야해서 귀찮다.)

 

Ex)

1
2
3
btn = CreateWindow(L"listbox", L"CLICK", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON, 0050100, hWnd, 
            (HMENU)0NULLNULL);
        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