728x90
반응형

자식창 2

[MFC] MDI 자식창 모두 닫기

작업을 위해서 띄어 놓은 다수의 창을 한꺼번에 닫는 일은 종종 발생한다. 모든 창을 한꺼번에 닫는 것은 자식 창을 모두 검색해야 할 것 같지만 MFC는 해당 기능을 지원한다. App Class에는 CloseAllDocument()라는 함수가 있다. 간단한 호출로도 모든 자식 창을 닫을 수 있다. theApp.CloseAllDocument(); 다양한 형태의 Document를 사용하고 있다면, 분명 CDocTemplate를 종류 별로 멤버 변수로 등록하고 사용하고 있을 것이다. 그럴 경우에는 멤버 변수 별로 호출하면 각각의 자식 창을 모두 닫을 수 있다. CDocTemplate* pTemplateDoc = theApp.m_pDocTemplate; pTemplateDoc->CloseAllDocuments(F..

[MFC] MDI에서 자식 창을 맨 앞으로 가져오기

MDI에서 ChildFrame을 관리하는 것은 생각보다 번거로운 일이다. CMainFrame에서 CChildFrame을 찾고 해야 한다. MDI에서 새로운 창을 만들 때에 가끔 동일 창을 호출하는 경우가 있다. 그럴 경우에는 창을 새롭게 만들 것이 아니라 만들어진 창을 맨 앞으로 끄집어 와야 한다. 보통 CChildFrame을 컨트롤할 때는 아래와 같이 한다. // CMainFrame 에서 라면, CWnd* pWnd = FindWindow(NULL, /*ChildWnd Name*/); pWnd->BringWindowToTop(); // 해당 창을 맨 앞으로 가져온다. 하지만 Caption의 이름이 바뀔 수도 있고, 관리하기도 쉽지 않다. 그래서 CMainFrame에 CChildFrame을 관리할 수 있는..

728x90
반응형