フォームに配置されたラベルの背景色を、その月によって
自動的に変更する方法を紹介します。
ここでは背景色を変更しますが、応用で、その他のプロパティを
変更したり、月単位ではなく、時間単位で変更することも可能です。
また、ラベル以外ののコントロールやフォーム自体のプロパティに
対しても応用できますので、月によって、あるいは日によって
書式や内容を変更する必要のなる場合は、いくつものフォームを
用意する手間を省くことができるでしょう。
●操作手順●
背景色は、偶数月は青、奇数月は緑に変更します。
(1)フォームを新規作成して、デザインビューで表示します。
(2)ラベルを配置してプロパティシートを表示します。
(3)次のプロパティを設定します。
・[書式]タブの[背景スタイル]を「普通」にする
・[その他]タブの[名前]を「ラベル0」にする
(4)フォームのプロパティシートを表示して[イベント]タブの
[開く時]にイベントプロシージャを設定します。
(5)コード表示ボタン[...]をクリックして、次のコードを記入します。
Private Sub Form_Open(Cancel As Integer)
If Month(Now) Mod 2 = 0 Then
'背景色を青にする
ラベル0.BackColor = QBColor(1)
Else
'背景色を緑にする
ラベル0.BackColor = QBColor(2)
End If
End Sub
(6)フォームを保存してから開くと、偶数月の場合はラベルの
背景色が青、奇数月の場合は緑に表示されます。
●補足●
<Month関数>
1年の何月かを表す0〜12の範囲の整数を表すバリアント型の値を返します。
構文は、「Month(date)」です。引数dateは必ず指定し、日付を表す
バリアント型の値、数式、文字列式、またはこれらを組み合わせた値を
指定します。引数dateが有効な値を含まない場合は、Null値を返します。
<Now関数>
コンピュータのシステムの日付と時刻の設定に基づいて、現在の日付と時刻
を表すバリアント型の値を返します。
<Mod演算子>
2つの数値の除算を行い、その剰余を返します。
構文は、「result = number1 Mod number2」です。
resultは任意の数値変数を必ず指定します。number1、number2は
任意の数式を必ず指定します。
<QBColor関数>
指定した色番号に対応するRGBコードを表す長整数型(Long)の値を
返す関数です。
構文は、「QBColor(color)」で、引数colorには、0〜15の範囲の整数を
指定します。設定値は次のとおりです。
番号 色
------------------------------
0 黒
1 青
2 緑
3 シアン
4 赤
5 マゼンタ
6 黄
7 白
8 灰色
9 明るい青
10 明るい緑
11 明るいシアン
12 明るい赤
13 明るいマゼンタ
14 明るい黄
15 明るい白
|