2017-03-04 14 views
0

プロジェクトをXE7から、子フォームのOnCreateに移動しました。私はウィンドウのサイズを変更しています。このフォームはPosition:= MainFormCenterです。表示する前にWIndowのサイズを変更する正しい方法

ベルリンでは、この子フォームを表示した後、私はLeft = 0とTop = 0を持っています。 OnCreateでウィンドウサイズが変更されていない場合、この子フォームが正しく作成され、メインフォームの中央に配置されます。

デルファイベルリンで初期化時にフォームサイズを変更し、フォームの位置設定を失わないようにするにはどうすればよいですか? 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方法から - この問題を解決する方法の1つは、フォームのOnShowメソッドのフォームサイズを変更することです

関連する問題