나는 메인 폼에서 런타임에 생성되는 여러 자식 윈도우를 가진 mdi 애플리케이션을 개발했다. 자식 창은 사용자 지정 양식입니다. 동일한 응용 프로그램에서 다른 양식의 사용자 지정 양식을 표시하려고합니다. 이것이 가능한가?델파이 애플리케이션에서 하나 이상의 MDI 폼을 생성 할 수 있습니까?
6
A
답변
8
아니요, 표준 VCL을 사용할 수 없습니다. 응용 프로그램의 MainForm 만 MDI 폼이 될 수 있습니다. 그러나 그림과 같이 win32를 직접 사용하면 가능합니다. here.
0
VCL에서 가능하지 않다고 생각합니다. MDI 형식은 기본 형식 (Application.MainForm)으로 간주됩니다. 기본 Windows 루틴에 이러한 가정이 없다고 생각하지만 VCL이 심각한 해킹없이이 작업을 수행 할 수는 없을 것입니다.
VCL 프레임 워크의 여러 지점에서 중요한 MDI 메시지는 Application.MainForm.ClientHandle
으로 전송됩니다. 이제 ClientHandle
이 MDI 컨테이너이지만 어떤 이유로 메인 폼의 컨테이너가 선택되었습니다.
같은 주제에 대한 내 QC 보고서를 참조하십시오 ("Will not Do"로 끝났음). http://qc.embarcadero.com/wc/qcmain.aspx?d=12006 –
죄송합니다. 늦은 재생 (나는 다른 프로젝트에 관여했기 때문에). 그것은 작동하지 않았다. 죄송합니다. 두 번째 mdi 폼을 만들면 자식 윈도우가 기본 폼으로 그려집니다. – zoomz