2014-05-22 2 views
0

CDockablePanes는 프로그램을 닫았다가 다시 열 때 CDockablePanes의 상태를 기억하지만 이전에 닫힌 CDockablePane을 어떻게 표시하는지 이해하지 못합니다. 용도.CDockablePane을 닫은 후에 표시하는 방법

이 내 초기화 코드 :

DWORD dwPaneStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_FLOAT_MULTI; 
    MyPane.Create(_T("MyPane"), this, CRect(0, 0, 0, 120), TRUE, ID_VIEW_MYPANE, dwPaneStyle | CBRS_BOTTOM)); 
    MyPane.ShowPane(TRUE, FALSE, TRUE); 

그래서이 내 창을 만든 다음 그것을 설정합니다이 표시,하지만 어떤 이유로 난 뭐야 ... 내 메인 프레임에서 볼 수 없습니다 내가 빠졌어?

또한 특정 버튼을 눌렀을 때 창을 표시하고 싶습니다. 이미 MessageMap과 OnButtonFct()를 준비했습니다. 나는 그 판을 보여줄 수있는 방법을 알아야합니다.

감사합니다.

+0

의도적으로 창에 너비를 지정 했습니까? CRect의 폭은 제로입니다. – rrirower

+0

나는 그랬다. 내가 만드는 것들의 대부분은 CRect (0,0,0,0)를주고 필요한 공간을 채 웁니다. 나는 다른 창 너비로 테스트하고 아무 것도 변경하지 않았기 때문에 이것이 문제가 아니라고 확신합니다. 닫히기 전에 눈에 띄었습니다. – Papsicle

+0

[CodeProject] (http : // www. codeproject.com/Articles/493218/Understanding-CDockablePane). 나는 그것을 통해 읽을 것이므로 만약 당신이 아무것도 놓친 지보십시오. – rrirower

답변

0

찾았습니다 ... MFC는 프로그램이 남아있는 전체 상태를 저장합니다. 따라서 앱이 실행되면 패널이 표시되지만 앱이 마지막 상태를로드하고 패널을 숨 깁니다. 같은 줄을 사용하여 다시 볼 수있게 만들었습니다 :

MyPane.ShowPane(TRUE, FALSE, TRUE); 

버튼을 누르면 생성하는 대신에 버튼이 눌려집니다.

CWinAppEx 생성자에서 다음을 추가하여 자동으로 "마지막 상태로드"동작을 사용하지 않도록 설정할 수도 있습니다.

m_bSaveState = FALSE; 
관련 문제