2012-04-12 3 views
-1

VCL은 MainForm 이외의 폼에서 MDI 자식 폼을 호스팅하도록 기본적으로 허용하지 않습니다. 이것은 Microsoft의 MDI 아키텍처에 대한 제한이 아니라 볼랜드의 하드 코딩 된 제한 사항입니다. Microsoft는 응용 프로그램의 여러 창에서 MDI 자식을 호스팅 할 수 있습니다. Win32 API에는 MainForms의 개념이 없습니다.단일 응용 프로그램에서 여러 MDI 상위 폼

저는 아래 embarcadro C++ 예제를 엠바 카데로 델파이로 변환하려고 시도했지만 성공하지 못했습니다. mdi 하위 폼을 만들 때 "no mdi forms are currently active"오류가 계속 발생합니다.

이 C++ 샘플은 MDI가 아닌 프로젝트가 여러 MDI 상위 폼을 호스팅하는 것을 허용하는 방법을 보여줍니다. 그 중 아무 것도 VCL의 MainForm이 아닙니다. 정보 (다운로드하기 위해 필요한 계정) http://cc.embarcadero.com/item/23574

직접 다운로드 (다운로드 필요 없음 계정)와

다운로드 http://www.delphibasics.info/MultipleMDIParentFormsInASingleApplication.zip

사람이 embarcadro하는 embarcadro C++ 언어에서이 샘플을 변환한다면 나는 감사 드리겠습니다 델파이 언어. 고맙습니다.

+4

스택 오버플로는 무료 변환 서비스가 아닙니다. 당신은 자신을 시도하고 당신이 붙어 있다면 특정 질문을 부탁드립니다. –

+4

나는 그 기사를 썼다. 변환에 대한 도움이 필요하면 Embarcadero 포럼에 요청을 게시하거나 비공개로 이메일을 보내십시오. –

+2

응용 프로그램의 단일 MDI 부모 폼조차도 너무 많습니다. :-) 대신 도킹을 사용해보십시오. –

답변

4

품질 센터 # 12006 Hosting MDI child forms in non-MainForm forms에는 지원 방법에 대한 해결 방법 설명의 자세한 단계가 있습니다. VCL 소스에 패치를 적용하고 Delphi 2005에 게시되었으므로 일부 단계가 변경되었을 수 있습니다. 또한 으로 처리되지 않을 것입니다.을 수행하지 않으므로 장기간 유지해야합니다.

관련 문제