継承されたフォームサイズの予期しない変更によって設計画面の操作時に与える影響
問題
継承されたフォームサイズの予期しない変更によって、設計画面の操作時に影響を与えることがあります。例えば、TMainMenuを継承フォームに貼り付け、IDEでデザイナを開きなおすと、Heightが21縮むことがあります。
以下は、その再現手順の一例です。
- VCLフォームアプリケーションを新規作成
- プロジェクトを右クリックし[新規追加]-[その他] -[継承可能項目]でForm1を選択
- Form2にTMainMenuを貼り付ける
- MainMenuをダブルクリックし、MenuItemを一つ追加
- [ファイル]-[全てを保存]
- Unit2のタブを閉じる
- プロジェクトマネージャでUnit2.pasをダブルクリックする
- Form2のHeightが21減少している
- Form2のHeight以外のプロパティを変更し、保存する
- Unit2のタブを閉じる
- プロジェクトマネージャでUnit2.dfmをダブルクリックする
- Form2のHeightが更に21減少している
解決
本件は、10.2.1で修正済みです。
https://quality.embarcadero.com/browse/RSP-17936
修正バージョン以前で、この問題を回避するには、ここの情報を参照してください。
以下、その情報の抜粋です。
継承されたフォーム サイズの予期しない変更が設計操作時に発生するおそれあり
アプリケーションのフォーム サイズが継承されたものである場合、メニュー バーの追加などの変更を行った後で、フォームの Height が突然小さくなるおそれがあります。この問題を回避するには、継承されたフォーム サイズを手動で変更して、サイズが上位フォームから継承されなくなるようにします。