CChildFrame :: OnCreate()에서 도킹 가능한 창을 만들었습니다. 처음 응용 프로그램을 시작할 때 표시됩니다. 두 번째로 응용 프로그램을 만들었지 만, splitterwindows는 클라이언트 영역 (아래쪽 및 오른쪽)의 측면에 대해 완전하게 보이므로 보이지 않습니다. 따라서 마우스를 사용하여 분할기를 클라이언트 영역으로 가져 와서 도킹 가능한 창을 다시 볼 수있게해야합니다. 내 앱에서 파일 -> 새로 만들기를 선택하면 새 클라이언트 창이 만들어 져서 도킹 할 수있는 창을 표시합니다. 나는 이것이 SetRegistryKey (_T ("61sakjgsajkdg"))를 변경하면 레지스트리에 윈도우 레이아웃을 저장하는 것과 관련이 있다고 생각한다. 내 응용 프로그램의 CWinApp 파생 클래스에서. 다시 실행하면 처음으로 다시 표시됩니다. (하지만 두 번째로는 앱을 다시 시작하지 않습니다). 도킹 가능한 창 레이아웃을 어떻게 저장할 수 있습니까? 앱을 다시 시작하면 어떻게됩니까? 그들은 볼 수 있습니까? 그렇지 않으면 내 앱을 어떻게 막을 수 있습니까? 창 레이아웃을 이전에 저장 한 창으로 덮어 씁니다. LoadCustomState() 및 SaveCustomState()?와 관련하여, 이러한 메서드를 구현하는 howto에 대한 정보를 찾을 수 없습니다. 여기 내가 무엇을 의미하는지 설명 할 수있는 데모 프로젝트에 대한 링크가 있습니다CChildFrame에서 만든 도킹 가능한 창은 앱을 두 번 볼 수 없습니다. 시작합니다.
http://www.4shared.com/file/237193472/c384f0f6/GUI60.html
사람이 어떻게 내 CChildFrame 클래스에서와 도킹 창 두 번째 응용 프로그램의 시작을 보여 말해 주시겠습니까?
나는 시도하고 추가했다 \t SetRegistryBase (_T ("Settings")); SetRegistryKey() 다음에 MSDN 설명서에서 설명합니다. 아직도 변화 없음. 데모 프로젝트 링크를 사용해 보셨습니까? – Nijenhuis
와우, 지금 뭔가 바뀌었고, CChildFrame 생성 (논리적으로 들립니다) 후에 SetRegistryBase()를 호출했습니다. InitInstance()의 끝에서 바로 작동합니다. 이제 작동합니다! 좋아! 많은 고마움 아담. – Nijenhuis
유일한 문제는 마우스로 창의 레이아웃을 변경하고 응용 프로그램을 종료 한 경우입니다. 재시작하면 윈도우가 이전 위치로 복원되지 않습니다. – Nijenhuis