2010-04-23 7 views
2

MenuBar 및 StatusBar가있는 MDIForm이 있습니다. childform을 만들고 "Align = alBottom"으로 위치를 지정하면 양식이 화면 영역 밖으로 나가고 메인 폼 스크롤바가 활성화됩니다. 상태 표시 줄 바로 위에 자식 폼을 배치하는 방법은 무엇입니까?StatusBar와 같은 자식 폼 위치 지정

답변

1

정렬 및 앵커는 표시 할 부모가없는 컨트롤에서 예상대로 작동하지 않습니다.
그게 당신의 ChildForm에 일어나는 일입니다. 그것의 Parent는 nil입니다.
게다가 ChildForms의 경우 일반 Windows 관리 (최대화, 최소화, 캐스케이드, 타일링 ...)를 따르는 것이 더 일반적입니다.
특정 위치에 배치하려는 경우 가장 좋은 방법은 다음을 사용하여 배치 할 위치를 계산하는 것입니다. MainForm의 ClientHeight 및 ClientWidth.

0

도킹 해보세요.

//... after creating DlgChildForm 

DlgChildForm.ManualDock(MainForm, nil, alBottom); 
DlgChildForm.Visible := True; 
0

MDI 하위 폼은 특정 위치에 정렬되거나 도킹되지 않도록 설계되지 않았습니다. 그것들은 MDI 부모에 포함되도록 설계되었으며 부모 표면 위에 자유롭게 떠 다니거나 최대화됩니다.

정렬 또는 도킹을 사용하여 배치 할 수있는 양식이 필요한 경우 MDI를 사용하지 않아야합니다.