BackColorプロパティ

BackColorプロパティはコントロールの背景色の設定、色の設定方法に関しても解説

'フォームの背景色を薄い青紫にする
UserForm1.BackColor = RGB(192, 192, 255)
'フォームの背景色を取得
Debug.Print UserForm1.BackColor

「BackColor」プロパティはオブジェクトの背景色を指定します

プロパティウィンドウでのユーザーフォームの色の設定の仕方

色の設定は通常はプロパティウィンドウで設定を行います
プロパティ値の左にある▼ボタンから、色の選択が可能になります

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

パレットタブにある色が、色の直接の指定になるので基本的にはこちらを使用します
システムタブ側は、Windowsの設定であったり、ユーザーフォームの設定であったりを参照するため意図しない色に指定されることがあります

以前いきなり文字が表示されなくなったという現象に遭遇し、中にちゃんと文字が入っているのに見えない状態でした。結果的にはシステム文字色と背景色が同じになってしまい、見えない状態になっていました

なので、色の指定を行ったほうが安心です

また、パレットの下2行は初期状態では全て白色になっていますが、ここは任意の色が指定できます
色の箇所を右クリックすると、以下の画像にある色の作成画面が表示されます

色の作成画面の画像
色を右クリックすると表示される画面

この画面で色の確認を行いながら作成を行うことが出来ます
追加ボタンで、その色は保存されて同じ場所が作成した色設定になります
これは、PC毎の設定なので別の環境では再現されませんが、色自体は整数値での指定は変わらないのでフォームの色自体はちゃんと表示されます

コード上で変更する場合

色をコード上で変更する場合はRGB関数を使用します
定数の指定もできますが、覚えるのも面倒なのでこの関数で十分です

この関数は指定の色を整数値で返すので、そのままプロパティの設定に代入できます

また取得したプロパティ値は整数値が取得されます
その整数値を他のコントロールに代入すれば、同じ色に設定が可能になります

BackColorプロパティはBackStyleプロパティの設定が「1-fmBackStyleOpaque」(不透明)に指定している必要があります

ユーザーフォームにはBackStyleプロパティはありませんので、常に不透明状態に指定されています


関連の記事