色指定の数値より RGB の各値を得る |
対象バージョン : 97, 2000, 2002, 2003, 2007
最終更新日 : 2007/03/11
(オリジナル作成日:1996/12/08)
概 要
BackColor 等での色指定の数値から、RGB 関数の引数にあたる Red, Green, Blue の各値を得る方法です。
手 順
1.ユーザー定義関数の作成
(declarations) Type RGB_Struct RED As Integer GREEN As Integer BLUE As Integer End Type Public Function invRGB(ColorNumber As Long) As RGB_Struct Dim RGBValue As RGB_Struct If ColorNumber < 0 Then RGBValue.RED = &HC0 RGBValue.GREEN = &HC0 RGBValue.BLUE = &HC0 Else RGBValue.RED = ColorNumber Mod &H100& RGBValue.GREEN = Int(ColorNumber / &H100&) Mod &H100 RGBValue.BLUE = Int(ColorNumber / &H10000) End If invRGB = RGBValue End Function
2.使用方法 Dim RGB As REG_Struct RGB = invRGB(色指定数値) 赤 = RGB.RED 緑 = RGB.GREEN 青 = RGB.BLUE
注 意
フォームでのデフォルトの設定値では、マイナス値(-2147483633)となっていますが、マイナス値が与えられた場合、赤緑青の各値には、192(&HC0) が返されます。