ラベルのプロパティ

このページではラベルの主なプロパティについて解説します。ラベルは項目見出しや処理結果の表示など使用頻度の高いコントロールです。しかっり使い方をマスターしておきましょう。

スポンサーリンク

説明済みプロパティ

コントロールオブジェクトが異なるだけで前のページで説明した内容と同じプロパティについては説明を割愛させていただきます。以下のリンク先をご覧になってください。

※説明の中に出てくるコントロールオブジェクトは適宜読み換えてください。

表示文字列とそのフォント・色(Caption、Font、ForeColor プロパティ)

文字列は Caption プロパティ、文字のフォントは Font プロパティ、文字色は ForeColor プロパティで設定します。文字色にはRGB値、色定数システムカラーのどれでも設定が可能です。

ラベルの既定のプロパティは Caption プロパティです。プロパティを省略した場合は Caption プロパティが指定されたものとみなされます。

プロパティウィンドウでの設定

文字のフォントと色はプロパティウィンドウで設定しようとするとさらに別ウィンドウが開くので、その画面から設定を行います。

文字のフォント・色の設定
文字のフォント・色の設定

コードの記述例

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つ選びます。

BorderStyleによる枠線の設定
BorderStyleによる枠線の設定

コードの記述例

'枠線なしの場合
Label1.BorderStyle = fmBorderStyleNone
'枠線ありの場合
Label1.BorderStyle = fmBorderStyleSingle
BorderStyle定数一覧
定数 表示イメージ
fmBorderStyleNone 0 枠線なし
fmBorderStyleSingle 1 枠線あり

SpecialEffect プロパティ

プロパティウィンドウでの設定

SpecialEffect プロパティの右端をクリックし、ドロップダウンリストから希望の枠線に対応する定数を1つ選びます。

SpecialEffectによる枠線の設定
SpecialEffectによる枠線の設定

コードの記述例

'枠線なしの場合
Label1.SpecialEffect = fmSpecialEffectFlat
'枠線あり(枠線内が浮き出た視覚効果)の場合
Label1.SpecialEffect = fmSpecialEffectRaised
SpecialEffect定数一覧
定数 表示イメージ
fmSpecialEffectFlat 0 枠線なし
fmSpecialEffectRaised 1 枠線内が浮き出た視覚効果
fmSpecialEffectSunken 2 枠線内がへこんだ視覚効果
fmSpecialEffectEtched 3 枠線部分がへこんだ視覚効果
fmSpecialEffectBump 6 枠線部分が浮き出た視覚効果

文字列の配置(AutoSize、TextAlign プロパティ)

枠線を表示させると文字列と枠線の隙間が気になってきます。ここでは AutoSize プロパティで文字列に枠線をフィットさせる方法と、TextAlign プロパティで水平方向の位置を調整する方法を説明します。そして、最後に文字列を垂直方向の中央に配置する例をご紹介します。

AutoSize プロパティ

AutoSize プロパティに True を設定すると、ラベルのクライアント領域が文字列の幅と高さに自動的に調整されます。(Width、Height プロパティが自動的に変更されます)

プロパティウィンドウでの設定

AutoSize プロパティの右端をクリックし、ドロップダウンリストから True / False のどちらかを選びます。

AutoSizeプロパティにTrueを設定
AutoSizeプロパティにTrueを設定

コードの記述例

'AutoSizeを無効にしたい場合
Label1.AutoSize = False
'AutoSizeを有効にしたい場合
Label1.AutoSize = True

表示イメージ

AutoSizeを有効にしたときの表示結果

AutoSizeプロパティをTrueに設定したときの表示結果

TextAlign プロパティ

文字列の水平方向の位置を左、中央、右のいずれかに設定することができます。

プロパティウィンドウでの設定

TextAlign プロパティの右端をクリックし、ドロップダウンリストから希望の配置に対応する定数を1つ選びます。

文字列の水平方向の位置を設定
文字列の水平方向の位置を設定

コードの記述例

'文字列を中央に配置
Label1.TextAlign = fmTextAlignCenter
TextAlign定数一覧
定数 表示イメージ
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 のどちらかを選びます。

プロパティウィンドウからWordWrapを設定
プロパティウィンドウからWordWrapを設定

コードの記述例

'折り返しありの場合
Label1.WordWrap = True
'折り返しなしの場合
Label1.WordWrap = False

表示イメージ

折り返しありの場合

WordWrapがTrueの場合

(参考)WordWrap = False、AutoSize = False の場合

WordWrapがFalseの場合

ラベル内での改行

ラベル内の任意の場所で改行するには改行コードを含める必要があります。プロパティウィンドウのCaption に直接改行を入力することはできませんが、任意のエディタで入力した文字列をコピー&ペーストすることで、改行を入力することができます。

プロパティウィンドウでの設定

任意のエディタ(ノートパッドなど)で改行を含んだ文字列を入力

ノートパッドで改行を含んだ文字列を入力
ノートパッドで改行を含んだ文字列を入力

文字列をコピー

文字列をコピー
文字列をコピー

プロパティウィンドウの Caption 内に貼り付け

プロパティウィンドウの Caption 内に貼り付け
プロパティウィンドウの Caption 内に貼り付け

表示結果

改行を含んだ文字列の表示結果

コードの記述例

コードからは普通に改行コードを含めた文字列を Caption プロパティに設定することができます。改行コードの定数(vbLf、vbCr、vbCrLf)はいずれもラベル内で改行されます。

Label1.Caption = "現住所を" & vbLf & "入力"

 各コントロールの概要

タイトルとURLをコピーしました