#527 | 16進数表記でコントロールの色を設定するには? | フォーム、VBA | |
フォーム上のテキストボックスに16進数を入力すると、その設定値に合わせてとなりの四角形コントロールの背景色が変わるという例です。 ここでいう16進数とは、よくホームページの色の設定で使われる「#FF0033」のような、「#」に続く6桁の表記のことです。6桁の構成は、2桁ごとに前からR(赤)、G(緑)、B(青)の配色の度合いを示しており、「#FF0033」であれば赤がFF、緑が00、青が33の3要素を混ぜた色合いになります。 ここではまず、次のようなデザインのフォームを用意します。 このフォームのデザインの内容は次のようになっています。
次に、テキストボックスの更新後処理イベントプロシージャを次のようにします。 Private Sub txt16進数_AfterUpdate() Dim strColor As String Dim lngR As Long Dim lngG As Long Dim lngB As Long 'テキストボックスの入力値を取得 strColor = Me!txt16進数 'RGBそれぞれの値を分解 lngR = CLng("&H" & Mid$(strColor, 1, 2)) lngG = CLng("&H" & Mid$(strColor, 3, 2)) lngB = CLng("&H" & Mid$(strColor, 5, 2)) '四角形コントロールの背景色を設定 Me!bxColor.BackColor = RGB(lngR, lngG, lngB) End Sub 実行例: ※関連Tips「#342 16進数を10進数に変換するには?」 ※関連Tips「#344 RGB値をRとGとBの16進に分割変換する方法」 |
|||
|
Copyright © T'sWare All rights reserved |