지난 5 년 동안 만든 수동으로 만든 양식이 최소한 300 개 이상 변형되어이 문제를 본 적이 없습니다. 나는 물론 주된 형식을 가지고 있고, 그 다음에는 더 작은 자식 형태들을 가지고있다. 이 자식 폼은 자동 생성이 아니며 코드에서 수동으로 선언되고 만들어집니다. 이 프로젝트는 여전히시기 상조이며,이 프로젝트에 제가 누락 된 코드가별로 없다는 것을 의미합니다. 하지만 문제는 폼을 만들고, 폼을 부모에게 할당하고, 폼을 보여줄 코드가 없다는 것입니다. 어쨌든 폼 자체를 보여줍니다.나없이 양식을 자동으로 보여주는 양식?
FControlPanel:= TfrmControlPanel.Create(nil);
FControlPanel.Parent:= Self;
그게 내가 만드는 모든 코드입니다. 실제 자식 폼에는 코드가 전혀 없습니다. 표시 되려면 적어도 FControlPanel.Show
이 필요하지만 어쨌든 표시되는 이유가 있습니다.
나는이 행동이 무엇으로 시작되었는지 몰랐습니다. 그러나 나는 둘을 함께 둘 수 없다. 필자는 MDI 양식 기능을 사용하여 양식을 기본 양식 내에 보관하려고했습니다. 그러나 많은 시행 착오 시나리오 이후, 나는 포기하고 재산을 되찾았습니다. 내가 변경 한 유일한 속성은 FormStyle이었습니다 - fsMDIForm, fsNormal 및 fsStayOnTop간에 전환 한 주요 양식 (시험용). 자식 폼 나는 그들을 fsMDIChild로 바 꾸었습니다. 내가 포기하고 나자, 나는 그들을 모두 기본값 인 fsNormal로 되돌려 놓았다. 이 "자동 쇼"가 일어나기 시작했을 때 주변에서 놀고 난 후에.
또한 중요한 메모 인이 하위 양식은 마스터 양식에서 상속됩니다. 이 마스터 양식은 사실상 코드가 없으며 적어도 코드를 표시 할 수있는 코드는 없습니다. 내 코드 중 어디에도이 자식 폼을 표시하지는 않지만 어쨌든 않습니다. 그리고 나는 그들이 자동 창조적이지 않다는 것을 안다.
무엇을 잘못 할 수 있습니까?
추신 : 일반적으로 MDI를 구현할 때의 문제는 다른 질문이 있습니다. MDI에 대해 묻지는 않지만 구성 요소의 속성을 변경하면 영구적으로 예를 들어 TPanel에서 "ParentBackground"를 true로 전환 한 다음 다시 false로 전환하면 XPMan을 사용할 때 지정된 색상이 올바르게 표시됩니다.
빙고! 많은 감사합니다 - 양식에 Visible 속성이 있다는 것을 잊어 버렸습니다. 한번도 사용하지 않았습니다 ...+1 그리고 수락 : D –
그래서 그 경우, 나는 'Visible' 속성이 생성시 표시되는지 여부를 지정하기위한 것입니다. 나는 항상 양식에 표시/숨기기를 사용했습니다 ... –
예. 나는 그것이 자동 생성 된 양식에 사용하기 위해 indended 것 같아요. – ain