突然フォーム上のものが、全て縮んでしまいました。
まるで画像を小さくしたかのような変化です。
・フォームの大きさ
・フォーム上のコンポーネントの大きさ
・コンポーネント上のフォントの大きさ
「scaleby」というメソッドがあるようですが、こちらは使っていません。
なぜ起こったのか? 簡単に元に戻す方法があるのか?
以上、よろしくお願いします。
いろんな原因があると思います、まずは環境を提示しなくては。
たまに体験しました。
xxxx.dfm を xxxx.~dfm から復元。
返信遅くなりました。
環境ですが、Delphi4 + UP3
XP Pro SP2・Celeron2.4G・512RAM・Intel 82845シリーズです。
今のところ一回きりなので、原因に心当たりがない状態です。
> xxxx.dfm を xxxx.~dfm から復元。
まだ駆け出しなもんで、DFMファイルには触れた事がありません。
プロジェクトを開く際に、なにか起こるんですかね・・・
ここに似ている???
https://www.petitmonte.com/bbs/answers?question_id=2936
俺も
昨日も発生。
ちょくちょく忘れた頃に発生するけど、原因不明。
だから発生に気づいたときに、何もさわらずに
xx.dfmをxxYY.dfmとかにして xx.~dfm を xx.dfm にすると
前回時にもどる。
deldelさんの元記事を書いたみみです。
先日、また発生しました。
私の発生した現象は、フォームの大きさだけです。
中身は縮んでいませんし、フォントが変わると言うこともありませんでした。
保存されたdfmの値が既に変わっている気がします。
delphiを起動したままで何度もビルドする度に大きさが変わったこともあったので、
それを考えると保存する前のメモリ上で持っている(?)プロパティの値が何かを契機に変わってしまうんだと思います。
ところで、xx.~dfmってどこに作成されるのですか?
delphi2005 pro ですが、_history の中に xxxx.dfm.~11~ とか
できていますが、
これのことなのでしょうか?
中身は確かにdfmの内容ですが、~n~は順に履歴になっているだけなのかな。
2005は分かりませんが、「.~dfm」や「.~pas」は、「.dfm」や「.pas」のバックアップなので、じゃんさんの方法で直るとは思います。
俺はそのような現象を体験してないので原因は分かりませんが。
フォームのプロパティをいろいろいじっていた結果、フォームのBorderStyleがbsSingleとかになっていると、読み込んだときにフォームのサイズが変わってしまうように思います。bsSizeableだとフォームのサイズは変化しませんでした。
でも、サイズ固定にしたいということもあるので、これだと困ってしまいます。MaxHeightやらMinHeight、MaxWidth、MinWidthを設計時サイズにしるのもありですが、実行時にサイズ変更の←→が出てしまうのがちょっと。。。と思っています。
ほかの皆さんはいかがですか?
そういう現象には遭遇したコトありませんが・・・
いちおう、これでBorderStyle=bsSizeableでも、BorderStyle=bsSingle同様
フォームサイズが変更できなくなります。
コノヨウナふぉーむがガ、タイリョウニアルト、タイヘンデスガ・・・。
public
procedure CreateParams(var aParams: TCreateParams); override;
implementation
procedure THogeHoge.CreateParams(var aParams: TCreateParams);
begin
inherited CreateParams(aParams);
aParams.Style := aParams.Style AND (not WS_THICKFRAME) or WS_BORDER;
end;
ありがとうございます。
早速やってみました。期待通りです。
ちなみに、bsSingleが悪いのかなぁ〜と思います。bsDialogでは何ともありませんし。
ツイート | ![]() |