Align、Anchorsがうまく機能しない

解決


はると  2005-01-24 23:10:24  No: 12840

フォームの大きさに応じてサイズの変化するページコントロールを置きたいのですがうまく機能しません。

MDIの子フォームで、Align=alClientのパネルの上に、
上下左右を少しずつ空けて全アンカーをTrueとしたページコントロールを置いたところ、
表示させると画面下部が隠れてしまい、スクロールバーも表示されません。
alClientなのにフォームよりも大きくなってしまっている印象です。
(ただしパネルのHeight値を見るとちゃんとフォームのClientHeightに収まる値です)
原因や対策が分かるようでしたらお願いします。


Basser  2005-01-25 02:05:26  No: 12841

MDI親フォームのサイズが影響しています。
MDI子フォームのScaledプロパティをFalseにすれば、
回避できるようです。


はると  2005-01-25 08:21:33  No: 12842

Basserさん、ありがとうございます。
Scaledプロパティについては未知でしたので一発解決を夢見て試してみましたが……、
結果は同じでした。

設計時にパネルのHeight=570、ページのHeight=553と、きちんと収まっているのに、
フォームのサイズを変えるとそれぞれ709、751と、
子供の方が大きくなるという逆転現象が起こってしまいます。

設計時からパネル=570、ページ=494と、かなり小さめに配置しておくと、
拡大時にはほぼ望み通りのものとなります。
何故かページコントロールが59ピクセル分だけ過剰に大きくなることになります。
いまだ謎です。


はると  2005-01-28 19:59:12  No: 12843

D2005のTValueListEditorのオブジェクトインスペクタで
Stringsプロパティの編集ダイアログを開くと画面下部のボタン等が
フォーム外に隠れてしまっている。
(他にも同様のケースを見た覚えあり)
IDEでもこうなのだからバグなのだろうか……。


はると  2005-02-15 23:31:14  No: 12844

CreateParamsメソッドをオーバライドしたら設計時通りに行きました。
理屈は分かりませんがとりあえずは解決です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加