VB6 から失われたもの





VB6 とそれ以降の VB との間には,非常に大きなプログラム言語仕様の変更があります.というか,『別の言語なんじゃないの?!』という感も.

VB6 にあって,それ以降のバージョンにないもの,は非常にたくさんありますが,私の用途に関係したものとしては;

1.RGB()関数
2.AutoRedrawプロパティ
3.コントロール配列

...といったところでしょうか? 3.はあきらめればよいとして,1と2は困ったもんです.事前のリサーチでこれを知って,私は暗~い気持ちになりました.

まず1ですけど,要するに描画色を RGB 個別指定で決める関数で,例えば RGB(255, 0 0)と指定すれば赤になります.これがなんで大事かというと,データの属性を連続した描画色で表現するのに非常に便利なんですね.
例えば,0 - 255 m の標高値を RGB (標高,標高,標高)で指定すれば,黒から白へ連続して変化するグレースケールで簡単に表現できる,というわけです(図参照).これを Dark Grey とかの離散値で表現しなければいけないとしたら,とてもじゃないけど.

で,この件,あっさりと解決しました.ちゃんと代りの方法が用意されていたということになります.方法は二つあって,

MyPen.Color = Color.FromArgb(255, DotCol, DotCol, DotCol)

というのと,

MyPen.Color = ColorTranslator.FromOle(RGB(DotCol, DotCol, DotCol))

というのがあります.どちらを使っても結果は同じですが,私は前者を使ってます.なんとなく簡潔なので.
なお,FromArgb の第1パラメータは不透明度(αチャンネル)なので,使いようによっては色々と凝れるかも.

残ったのは2の問題,これは非常に手ごわい問題でした.以下,続編.

2015/02/24 14:30:59


カテゴリー目次へ戻る
トップページへ戻る