VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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)」で型が異なるとエラーになって
しまいます。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -