グラフィック転送命令「BitBlt」 VBにはグラフィックイメージを丸ごと転送する命令はありますが、 グラフィックの一部を座標単位で抜き出してコピーする事が出来ません。 これはゲームを作る場合では致命的な欠点であり、出来ない事が分かった時点で VBをごみ箱にポイとなりかねないのです。 実際、私がそうでしたから・・。 VB4、VB5といろいろ命令やコントロールが追加されているので、 今はVBで出来ます。 イメージリストとかPaintPictureとか。(使った事無いけど)
私はVB2からスタートしたので大問題でした。 解決法 Windows APIを利用する。 VBで出来ない事はWindows APIを使って実現します。 CG転送はBitBlt,StrechBltを使って実現します。 BitBlt,StrechBltを使う上での注意点 1. 座標系をピクセルに設定する。 2. AutoRedrawをTureに設定する。 3. 1.2で動かない場合、標準モジュール(コードモジュールとも言います)に BitBlt記述。フォームモジュールで実行した場合、真っ黒ベタ転送になる事が あります。 4. BitBlt命令を出してもVBが書き換えを認識せず、書き換えない場合があります。 その場合、Refreshメソッドを使って、VBに再描画を指示します。 |