• ベストアンサー

QBColor関数って

QBColor関数って、色名が変ですよね。 7番はどう見てもグレーなのに「白」 15番は白なのに「明るい白」 どなたか色名の由来をご存知の方は 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • K-1
  • ベストアンサー率21% (832/3844)
回答No.1

これは、パソコンの歴史の遺物のひとつですね。 「QBColor」とは「QuickBasic Color」の略のでして、 VBの原形となった(らしい)コンパイラ型BASICの色コードに由来します。 このQBが稼動していたころはWindowsなどないDOS時代で、パソコンの色数は8/16色程度でした。 8色はRGBの組み合わせで、これの明るい・暗いで16色。 その色がQBColorで使えるようになっているのです。 今となっては使われることも無い関数でしょうね。

noname#2528
質問者

お礼

私はVB初心者です。 いま読んでいる解説書によく出てくるので、 あまり使われていないものとは知りませんでした。 DOS時代はこれだけしか色がなかったのですね。 信じられません。 ありがとうございました。

その他の回答 (2)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.3

なるほど、QuickBasicの遺産なのね。>No.1 こんな関数を使ったらだめですよ。 普通はvbBlack, vbWhiteといった定数やRGB関数を使います。

noname#2528
質問者

お礼

私はVB初心者で、参考書によく出てくるので、 あまり使われていないとは知りませんでした。 ありがとうございました。

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

QBColor(7) とすると数字が表示されます。RGBカラー値です。 わかりやすくすると Right(String(8, "0") & hex(QBColor(7)),6) を実行してみてください。 C0C0C0 と表示されます。 C0→&HC0=192 です。要するに 赤192 緑192 青192 の要素を持った色となります。 同様に15を指定したとき FFFFFF となります。 これはそれぞれ255の要素を持っています。 つまり各要素を高めると白に近づきます。 8のグレーを指定すると、7の白より各要素値が低いことがわかると思います。 さて本題の由来ですが・・・なぜ 7=C0C0C0 15=FFFFFF なのかは知りません・・・ しかし、色が乏しい昔のPC時代の使用できた色を、単にID化したものだと思いましたが・・・記憶があいまいです。。。

noname#2528
質問者

お礼

私はVB初心者です。 いま読んでいる解説書によく出てくるので、 あまり使われていないものとは 知りませんでした。 ありがとうございました。

関連するQ&A