|
Delphi2010 スタティックテキスト(StaticText) 2010/09/09 |
前回は[Additional]内の「Splitter」(スプリッター)について見ましたので、今回は同じく[Additional]内の「StaticText」(スタティックテキスト)について見てみます。スタティックテキストは Delphi6 にもあります。
スタティックテキストは、ラベルと似ており、画面上に指定した文字を表示させるものです。ラベルとの違いは、ラベルはウインドウハンドルを持っておらず、アクセラレータキー(&〜)を書いてもラベル自体はフォーカスを持つ事は出来ません。しかしスタティックテキストは、ウインドウハンドルを持っており、フォーカスを持つ事が出来、アクセラレータキーを指定する事が出来ます。それでは配置してみます。1つ目ですので Nameプロパティは「StaticText1」となり、文字内容を示す Caption プロパティの内容も同じく「StaticText1」となります。
これだけだと、フォーカスを持っているかどうかが分かりにくいので、エディットを2つ配置します。スタティックテキストの Captionプロパティを「TEST(&T)」とします。アクセラレータキーの文字を下線付にするため ShowAccelChar プロパティをデフォルトの False から True に変更します。TabStopプロパティをデフォルトの False から True にして下さい。Tabキーでのフォーカス移動が出来るようになります。そして FocusControl プロパティを自分自身 StaticText1 にします。これを別のコントロールに指定する事も出来ます。
この状態で一旦保存・コンパイル(再構築)・実行してみて下さい。
Tabキーを何度か押してみたり、[Alt]+[T]を押してみたりしてみて下さい。画面上の変化はありませんのでフォーカスが消えたように見えますが、スタティックテキストにフォーカスが移動しているのが分かると思います。
BorderStyleプロパティでスタティックテキストの文字の周りに輪郭を表示する事が出来ます。
sbsNone | | 輪郭なし(デフォルト) |
sbsSingle | | 輪郭線あり |
sbsSunken | | ベベル状態の輪郭あり |
BevelKindプロパティ等も同様に輪郭に影響してきます。
Colorプロパティで文字背景色を指定する場合には、他のコンポーネント同様、Transparentプロパティを False にして下さい。デフォルトは True =透過する、という風になっていますから色を指定しても反映されません。
<オブジェクトインスペクタ>をざっと見てみましたが、別段、気になるような項目は無いようです。
ウインドウハンドルを持つという事は、その分、リソースを消費する、という事になると思われますので、特別これを使わないといけない・これをぜひとも使いたい、という事でもない限りは、ラベルを使った方がいいと思われます。
|
|
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
▲2010/09/08
2010/09/09
▼2010/09/10
シェアウェア
Script!World
データベース
|