色の設定で、プロパティウィンドウには&Hからはじまる設定値が施されているんですが、いま某参考書で勉強していたら
ピンク--- &HFF80FF&
緑 --- &HC000&
というコードが載ってました。てっきり、&から&まで16進数をあらわすHを除き
8桁で表されるものだと思ってたので面食らってます。
省略されているだけなのだと思うのですが、どのように省略できるのか自分の力で
ヘルプを調べても、わかりませんでした。
すいません。どなたかご教授ください。
まず、頭の『&H』は16進数であることを表しています。
その後の16進数は2Byteずつの色のデータを表しています。
00〜FFの256階調の色データで、右から赤、緑、青(RGB)の三原色です。
右からと言ったのは左側は場合によって省略できるからです。
ピンクの場合『&HFF80FF&』で、赤が256、緑が128、青が256です。
緑の場合『&H00C000&』で、赤が0、緑が192、青が0です。
普通の10進数の数字を考えてもらえば分かると思いますが、
左に来る0は省略できます。
『&H00C000&』と『&HC000&』は同じ値です。
最後に来る『&』はLong型である事を意味しています(VB6.0)。
これを付けないと値によってはInteger型だと判断されます。
『&HC000&』と『&HC000』では値が全く違うので注意が必要です。
えーと、私の理解ではだいたいこんなもんですがいかがでしょうか?
ありがとうございました〜!!!
すばらしい。
あっ、、、でもですね、最後の「&」なんですが、
コードウィンドウで勝手に消えちゃうんです。
ピンクの場合
&HFF80FF&
って入力すると
&HFF80FF
になっちゃいます。勝手に省略されてますよーて教えるために付いてしまう
記号なのかともおもったのですが、、、でもLong型を表す型宣言文字だという
ことがわかっただけで満足です。ありがとうございました。
あのー、すいません、あと、、、&Hと最後の&まで6桁ある場合は理解できたの
ですが、VBのプロパティウィンドウでは8桁ありますよね?
全部「&H00」から始まってるので、省略されてるんだと思ったのですが、
システムタブから適当に色を選ぶと「&H80」から始まる番号になるんです。
すいません。教えてください。きいてばっかですいませんです。
※訂正
> その後の16進数は2Byteずつの色のデータを表しています。
2Byteじゃなくて1Byte(2桁の16進数)ですねf^_^;
最後の『&』が省略されるのは、『&HFF80FF』が既にIntegerの範囲を越えているので
自動的にLong型と見なしているからです(だと思います)。
> 全部「&H00」から始まってるので、省略されてるんだと思ったのですが、
> システムタブから適当に色を選ぶと「&H80」から始まる番号になるんです。
これはシステムカラー用の番号のことですね。
『&H80000000』はスクロールバーの色
『&H80000001』はデスクトップの色
…
というように決められています。
なのでRGBとは直接関係無いです。
プロパティウインドウで指定できる、"ボタンの表面"などの色指定は、
システムカラーといってプログラムを実行する環境に依存します。
それなので、&H8000000F&などは色を表すのではなくて、
"Windowsでボタンの表面設定されている色"に使う、ということになります。
ためしに、Windowsの"画面のプロパティ"の"デザイン"で色設定を変えてみるとわかりやすいかもしれません。
#と上記のように私は認識しています。
ありがとうございました!!
大変勉強になりました。ありがとうございました。
ツイート | ![]() |