Thread: Delphi10.2でFormの高さが自動で開発環境のPCのディスプレイ表示幅に調整されるようになってしまう事象について
|
Replies:
9
-
Last Post:
Aug 9, 2017 9:34 PM
Last Post By: Saruwatari Yasu...
|
|
|
Posts:
5
Registered:
8/3/16
|
|
Delphi10.2にアップデートしてから、件名の事象が起こるようになってしまいました。
元々はDelphi10Seattleを利用しておりましたが、その際は起こりませんでした。
現在は開発する度に、ディスプレイに入りきっていないコンポーネントを表示させるため、
手でFormの高さを広げて開発しております。
どなたか解決方法をご存じないでしょうか?
<環境>
PC:Windows10 64bit
Delphi10.2 Enterprise版を利用して開発
|
|
|
Posts:
147
Registered:
9/11/03
|
|
|
|
|
Posts:
147
Registered:
9/11/03
|
|
ちなみに、Delphi7で作成したプロジェクトで、dfmファイルを直接 テキストエディタで編集して、
フォームの高さ(Heightプロパティ)を1400に変えて保存し、
Delphi XE8, 10.1 Berlin、10.2 Tokyoで、そのプロジェクトを読み込んだところ、
フォームの高さ(Heightプロパティ)は、いずれも、1044 になりました。(解像度1280x1024)
|
|
|
|
Posts:
5
Registered:
8/3/16
|
|
ちなみに、Delphi7で作成したプロジェクトで、dfmファイルを直接 テキストエディタで編集して、
フォームの高さ(Heightプロパティ)を1400に変えて保存し、
Delphi XE8, 10.1 Berlin、10.2 Tokyoで、そのプロジェクトを読み込んだところ、
フォームの高さ(Heightプロパティ)は、いずれも、1044 になりました。(解像度1280x1024)
回答ありがとうございます。
手順などのせておらず申し訳ございません。
1.Delphi10.2にて新規プロジェクトを作成する。
2.1のプロジェクトのFormにMainMenuコンポーネントを配置。
メインメニューに幾つかメニューを登録する
※ここは前回の説明に記載できていなかった部分です
3.プロジェクトを保存してDelphiを閉じる
4.再度Delphiを開いて1で作成したプロジェクトのMainMenuを使っているFormを開く
4にて3で保存したFormの高さより小さくなる事象が発生。
手順は以上です。
|
|
|
|
Posts:
147
Registered:
9/11/03
|
|
提示された手順をもとにプロジェクトを作成し、フォームのClientHeightを800にして保存し、
一旦閉じて、再度 プロジェクトを開いたとき、
Delphi 10.1 Berlinでは、ClientHeightは800のままなのに、
Delphi 10.2 Tokyoでは、ClientHeightは779になってしまうのを確認しました。
[RSP-17936] The height of a form decreases when the TMainManu component is used
https://quality.embarcadero.com/browse/RSP-17936
に、報告されているようです。
|
|
|
|
Posts:
5
Registered:
8/3/16
|
|
提示された手順をもとにプロジェクトを作成し、フォームのClientHeightを800にして保存し、
一旦閉じて、再度 プロジェクトを開いたとき、
Delphi 10.1 Berlinでは、ClientHeightは800のままなのに、
Delphi 10.2 Tokyoでは、ClientHeightは779になってしまうのを確認しました。
[RSP-17936] The height of a form decreases when the TMainManu component is used
https://quality.embarcadero.com/browse/RSP-17936
に、報告されているようです。
ありがとうございます。上記のページを確認しました。
確認現状では未解決のようですので、アップデートで改善されるのを待ちます。
とても助かりました。
|
|
|
|
Posts:
147
Registered:
9/11/03
|
|
そのフォームのHeightプロパティと同じ値を、ConstraintsのMinHeightに指定すれば、
とりあえず、読み込み時に、値が減ることは回避できそうですね。
ただ、コンパイル後の実行プログラムで、フォームの高さを、その値より小さくすることがある場合、この方法はとれないですが・・・
|
|
|
|
Posts:
5
Registered:
8/3/16
|
|
ありがとうございます。こちらについて試してみましたが、Formの読み込み時にHeightプロパティの値に合わせる形でConstraintsのMinHeightが設定されました。
※FormのBorderStyleはbsSingleで指定しております。
結果的にHeightが小さくなり期待する結果になりませんでした。(ConstraintsのMinHeightにHeightが合わせられる仕様だとよかったのですが、、そうではなさそうです)
解決策ではありませんが、現在はFormShowのタイミングでHeightの値を明示的に設定する方法で対処するようにいたしました。
Edited by: Saruwatari Yasuhiro on Jul 26, 2017 11:33 PM
|
|
|
|
Posts:
147
Registered:
9/11/03
|
|
|
|
|
Posts:
5
Registered:
8/3/16
|
|
情報のご提供ありがとうございます。
先ほどアップデートしまして、解決いたしました。
何度もフォロー頂き、大変助かりました。
|
|
|
|
Legend
|
|
Helpful Answer
(5 pts)
|
|
Correct Answer
(10 pts)
|
|
Connect with Us