投稿日 | : 2006/06/04(Sun) 18:49 |
投稿者 | : べた |
Eメール | : |
URL | : |
タイトル | : ボタン色「&H8000000F」をRGB値に変換するには? |
ボタン色「&H8000000F」をRGB値に変換するには?
VB6で、フォームのボタン色はプロパティで&H8000000Fとなっていますが、
これをRGB値に変換したいのですが、上手く値を求めることができません。
どうすればよいのでしょうか。
また、10進への変換もあるのですが、求めた16進からどのよにすれば10進
を求められますか。
1.
Command1.BackColor = &H8000000F
s = Hex(Command1.BackColor)
s = String(8 - Len(s), "0") & s
R = "&H" & Mid(s, 7, 2)
G = "&H" & Mid(s, 5, 2)
B = "&H" & Mid(s, 3, 2)
Debug.Print s
Debug.Print R; G; B
この場合、動くことには動いたのですが、求められた値が正しくない。
「0F0000」で、実際調べてみる黒色でした。
ためしに、緑「&HCC00&」でやってみると、
「00CC00」と正しくなります。
2.
s = Hex(Command1.BackColor)
s = String(8 - Len(s), "0") & s
c = Mid(s, 7, 2)
R = c And &HFF
c = Mid(s, 5, 2)
G = (c And &HFF00&) \ &H100
c = Mid(s, 3, 2)
B = (c And &HFF0000) \ &H10000
Debug.Print s
Debug.Print R; G; B
この場合、「c = Mid(s, 7, 2)」で型が異なるとエラーになって
しまいます。