본문 바로가기

프로그래밍/MFC

[MFC] CWinAppEx::CleanState()

API/MFC | 2010/01/29 18:28 | Posted by 임준환( 멈비 )

1. MFC Feature pack의 도킹 시스템( docking system )

MFC Feature pack 에서는 도킹 가능한 윈도우( window )를 생성할 수 있고, 또한 사용자는 그 윈도우를 프로그램이 제공하는 도킹 위치에 임의로 위치시킬 수 있다.

이와 같은 도킹 시스템( system )은 사용자의 편의를 위해 제공하는 기능이므로 레지스트리( registry )에 도킹된 윈도우의 정보들이 저장되고, 다시 해당 프로그램을 실행시켰을 때 레지스트리에 있는 정보를 이용해 재배치된다.

2. CWinAppEx::CleanState()

프로그램 개발자는 기본적으로 제공되는 도킹 윈도우의 레지스트리 저장 기능을 제어할 수 있는데 그 중 레지스트리에 저장된 정보를 사용하지 않고 항상 개발자가 의도한 위치에 도킹 윈도우들이 배치되게 하는 기능이 바로 CWinAppEx::Cleanstate() 이다.

3. 호출 시기.

CWinAppEx::CleanState() 이 적용되려면 특정 시기에 호출해 주어야 한다.

CWinAppEx 를 상속받은 프로젝트의 App 클래스( class )의 InitInstance() 함수이다.

그 안에서도 CWinAppEx::SetRegistryKey() 함수 호출 후, CMainFrame::LoadFrame() 호출 전에 호출해주어야 한다.

SetRegistryKey() 호출 전에 호출하게 되면 런타임 에러가 발생하고, LoadFrame() 호출 후에 호출하게 되면 CleanState() 효과가 적용되지 않는다.

'프로그래밍 > MFC' 카테고리의 다른 글

MFC 다이얼로그 스크롤 사용 소스  (0) 2010.10.29
MFC 를 이용한 Direct3D 프로그래밍  (0) 2010.08.26
CView  (0) 2010.05.24
차일드 사용  (0) 2010.05.20
MFC에서 hWnd와 hinst 얻어오기  (0) 2010.05.20