FormのBoderStyleとBoderIconsの関係
|
82 |
FormBorder |
動作確認 |
Delphi2007 |
更新日 |
2008/02/20(水) |
Formの枠設定には BorderStyle と BorderIcons が関係しています。
各々の内容を記載しておきます。
Form.BorderStyle
bsSizeable
一般的なForm。サイズ変更可能境界。
BorderIconsは全て有効。
bsSingle
サイズ変更不可能境界。
BorderIconsは全て有効
bsDialog
サイズ変更不可能境界。
BoderIconsは、ヘルプボタン、クローズボタンが有効
Formアイコン表示は無し
bsSizeToolWin
タイトルバーの高さが小さい。サイズ変更可能境界。
BorderIconsは、クローズボタンのみ有効
bsToolWindow
タイトルバーの高さが小さい。サイズ変更不可能境界。
BorderIconsは、クローズボタンのみ有効
bsNone
サイズ変更不可。境界線なし
BorderIconsは全て無効
BorderIcons
biSystemMenu
タイトルバーボタン=Formアイコン/最小化/最大化/ヘルプ/閉じる
これ全体のON/OFF制御
biMinimize/biMaximize
どちらか一方がTrueの場合両方とも表示されるが
Trueの方だけが、ボタンが押せる。
biHelp
最小化/最大化ボタンの方が優先になるので
biMinimize/biMaximizeがどちらもFalseの場合や
BorderStyleによって最小化/最大化ボタンが表示されない場合に
ヘルプボタンの表示非表示を切り替えられる
このような内容になります。
各々が排他的な要素もあってわかりにくいのですが
どのように選ぶかというと
まずBoderStyleで、スタイルを選びます。
この時の選択の判断は次のように行います。
タイトルバーの有り無しを選択、
タイトルバー無しの場合は bsNone
タイトルバーの高さを選択
タイトルバー大:bsSizeable/bsSinble/bsDialog
タイトルバー小:bsSizeToolWin/bsToolWindow
タイトルバーが大きい場合
ウィンドウをリサイズ可能なら:bsSizeable
リサイズ不可能で
Formアイコン有り:bsSinble
アイコン/ヘルプ/最小化/最大化/閉じるボタンあり
Formアイコン無し:bsDialog
アイコン/最小化/最大化ボタンは無効
ヘルプやクローズボタンのみ
タイトルバーが小さい場合
Formアイコン無し、閉じるボタン以外無効。
リサイズ可能:bsSizeToolWin
リサイズ不可能:bsToolWin
それから、BoderIconでアイコンを選択します。
Formアイコン/ヘルプ/最小化/最大化/閉じるのボタンの
有効無効を制御できるのですが、
すでに選択したBorderStyleによって制限があります。
bsNoneなら、全ての設定は無効
bsSizeable/bsSingleなら全ての設定は有効
bsDialogはシステムアイコンと最小化/最大化ボタンは無効
つまりヘルプと閉じるボタンだけ有効
bsSizeToolWin/bsToolWinはシステムアイコンと最小化/最大化/ヘルプボタンは無効
つまり閉じるボタンだけ有効
このようになります。
簡単なサンプルを作ってみました。
FormBorder.zip
動作確認画面は次の通り
|