このページではラベルの主なプロパティについて解説します。ラベルは項目見出しや処理結果の表示など使用頻度の高いコントロールです。しかっり使い方をマスターしておきましょう。
説明済みプロパティ
コントロールオブジェクトが異なるだけで前のページで説明した内容と同じプロパティについては説明を割愛させていただきます。以下のリンク先をご覧になってください。
※説明の中に出てくるコントロールオブジェクトは適宜読み換えてください。
- 高さ・幅の設定(Width、Height プロパティ)
- 背景色の設定(BackColor プロパティ)
- 有効状態の設定(Enabled プロパティ)
- 可視状態の設定(Visible プロパティ)
- コントロールチップの表示(ControlTipText プロパティ)
表示文字列とそのフォント・色(Caption、Font、ForeColor プロパティ)
文字列は Caption プロパティ、文字のフォントは Font プロパティ、文字色は ForeColor プロパティで設定します。文字色にはRGB値、色定数、システムカラーのどれでも設定が可能です。
プロパティウィンドウでの設定
文字のフォントと色はプロパティウィンドウで設定しようとするとさらに別ウィンドウが開くので、その画面から設定を行います。
コードの記述例
With Label1 .Caption = "現住所" .Font.Name = "MS UI Gothic" .Font.Bold = True '太字 .Font.Size = 14 '文字サイズ14pt .ForeColor = vbBlue '色定数 青 End With
表示イメージ
枠線(BorderStyle、SpecialEffect プロパティ)
枠線は BorderStyle プロパティか、SpecialEffect プロパティのどちらか一方で設定します。BorderStyle プロパティでは単純な枠線しか表現できないのに対し、SpecialEffect プロパティでは4種類の枠線が表示可能です。枠線が不要の場合は、両方のプロパティに”枠線なし”を設定する必要があります。
BorderStyle プロパティ
プロパティウィンドウでの設定
BorderStyle プロパティの右端をクリックし、ドロップダウンリストから枠線表示に対応する定数を1つ選びます。
コードの記述例
'枠線なしの場合 Label1.BorderStyle = fmBorderStyleNone '枠線ありの場合 Label1.BorderStyle = fmBorderStyleSingle
定数 | 値 | 表示イメージ |
---|---|---|
fmBorderStyleNone | 0 | |
fmBorderStyleSingle | 1 |
SpecialEffect プロパティ
プロパティウィンドウでの設定
SpecialEffect プロパティの右端をクリックし、ドロップダウンリストから希望の枠線に対応する定数を1つ選びます。
コードの記述例
'枠線なしの場合 Label1.SpecialEffect = fmSpecialEffectFlat '枠線あり(枠線内が浮き出た視覚効果)の場合 Label1.SpecialEffect = fmSpecialEffectRaised
定数 | 値 | 表示イメージ |
---|---|---|
fmSpecialEffectFlat | 0 | |
fmSpecialEffectRaised | 1 | |
fmSpecialEffectSunken | 2 | |
fmSpecialEffectEtched | 3 | |
fmSpecialEffectBump | 6 |
文字列の配置(AutoSize、TextAlign プロパティ)
枠線を表示させると文字列と枠線の隙間が気になってきます。ここでは AutoSize プロパティで文字列に枠線をフィットさせる方法と、TextAlign プロパティで水平方向の位置を調整する方法を説明します。そして、最後に文字列を垂直方向の中央に配置する例をご紹介します。
AutoSize プロパティ
AutoSize プロパティに True を設定すると、ラベルのクライアント領域が文字列の幅と高さに自動的に調整されます。(Width、Height プロパティが自動的に変更されます)
プロパティウィンドウでの設定
AutoSize プロパティの右端をクリックし、ドロップダウンリストから True / False のどちらかを選びます。
コードの記述例
'AutoSizeを無効にしたい場合 Label1.AutoSize = False 'AutoSizeを有効にしたい場合 Label1.AutoSize = True
表示イメージ
AutoSizeを有効にしたときの表示結果
TextAlign プロパティ
文字列の水平方向の位置を左、中央、右のいずれかに設定することができます。
プロパティウィンドウでの設定
TextAlign プロパティの右端をクリックし、ドロップダウンリストから希望の配置に対応する定数を1つ選びます。
コードの記述例
'文字列を中央に配置
Label1.TextAlign = fmTextAlignCenter
定数 | 値 | 表示イメージ |
---|---|---|
fmTextAlignLeft | 1 | |
fmTextAlignCenter | 2 | |
fmTextAlignRight | 3 |
文字列を垂直方向の中央に配置する方法
TextAlign プロパティでは水平方向の位置調整しかできないため、垂直方向の配置に対してはかなり不満が残ります。ここでは垂直方向の位置を中央に配置する一例として、ラベルを2つ使用する方法をご紹介します。
それは枠線のみのラベル(Label1)と文字列のみを表示したラベル(Label2)をそれぞれ用意し、それらを重ね合わせるという方法です。
Label1 | Label2 | |||
+ | = |
文字列のみ表示したラベル(Label2)は背景色を透過(BackStyle プロパティをゼロ:fmBackStyleTransparent)にしておくとよいでしょう。
あとはプロパティウィンドウのラベル位置(Top、Left プロパティ)をひたすら手入力で微調整してください。
折り返し(WordWrap プロパティ)
ラベル内の文字列がラベルの幅を超えたときの折り返しの有無は WordWrap プロパティで設定します。WordWrap プロパティはデフォルトで True のため、文字列がラベルの幅を超えると折り返されます。
もし、折り返しを抑止したいならば、False を設定します。WordWrap プロパティを False に設定した場合は、 AutoSize プロパティを True にして文字列全体が表示されるようにする必要があります。
プロパティウィンドウでの設定
WordWrap プロパティの右端をクリックし、ドロップダウンリストから True / False のどちらかを選びます。
コードの記述例
'折り返しありの場合 Label1.WordWrap = True '折り返しなしの場合 Label1.WordWrap = False
表示イメージ
折り返しありの場合
(参考)WordWrap = False、AutoSize = False の場合
ラベル内での改行
ラベル内の任意の場所で改行するには改行コードを含める必要があります。プロパティウィンドウのCaption に直接改行を入力することはできませんが、任意のエディタで入力した文字列をコピー&ペーストすることで、改行を入力することができます。
プロパティウィンドウでの設定
任意のエディタ(ノートパッドなど)で改行を含んだ文字列を入力
文字列をコピー
プロパティウィンドウの Caption 内に貼り付け
表示結果
コードの記述例
コードからは普通に改行コードを含めた文字列を Caption プロパティに設定することができます。改行コードの定数(vbLf、vbCr、vbCrLf)はいずれもラベル内で改行されます。
Label1.Caption = "現住所を" & vbLf & "入力"