2017-03-04 3 views
0

프로젝트를 XE7에서 OnCreate로 이동 시켰습니다. 하위 창의 크기가 바뀝니다.이 양식의 위치는 = MainFormCenter입니다.올바른 방법으로 WIndow를 표시하기 전에 크기를 변경하십시오.

이제 베를린에서이 아이 양식을 표시 한 후 Left = 0 및 Top = 0을가집니다. OnCreate에서 창 크기가 변경되지 않은 경우이 자식 폼이 올바르게 만들어지고 Main Form 위에 가운데에 배치됩니다.

델파이 베를린으로 초기화 할 때 양식 크기를 어떻게 변경해야하며 양식 위치 설정을 잃어 버리지 않아야합니까? TFormPosition.Designed 여기 변경

양식 위치 :

unit FMX.Forms 

procedure TCommonCustomForm.Show; 
var 
    LPosition: TFormPosition; 
... 
begin 
... 
      // If you changed the original coordinates or size 
      if TBoundChange.Location in FBoundChanges then 
      begin 
      if LPosition = TFormPosition.Default then 
       LPosition := TFormPosition.DefaultSizeOnly 
      else if LPosition in [TFormPosition.DefaultPosOnly, TFormPosition.ScreenCenter, TFormPosition.DesktopCenter, 
       TFormPosition.MainFormCenter, TFormPosition.OwnerFormCenter] then 
       LPosition := TFormPosition.Designed; // Changed here to Default 
      end; 
... 
end; 

업데이트 : 내가 찾은

한 가지 방법 - 변화의 크기를

답변

0

없음 대답 형태의에서 onShow 방법에서 - 이 문제를 해결하는 한 가지 방법은 OnShow 메서드에서 양식 크기를 변경하는 것입니다.