BitBlt

APIの動き
指定した絵の範囲を指定した場所に転送します。
難しく言うと、
『ビットブロック転送を行います。コピー元からコピー先のデバイスコンテキストに、指定された長方形内の各ピクセルの色データをコピーします。』

次のAPI定義をフォームにコピー&ペーストして下さい
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Const SrcCopy = &HCC0020
Const SrcAnd = &H8800C6
Const SrcPaint = &HEE0086
'この他の定数は下記のパラメータをご覧下さい
'必要に応じて追加して下さい

使い方とパラメータの説明
使い方
BitBlt hdcDest,nXDest,nYDest,nWidth,nHeight,hdcSrc,nXSrc,nYSrc,dwRop
この命令後はリフレッシュして下さい

パラメータ
hdcDest
コピー先のデバイスコンテキストのハンドルを指定します。
ピクチャーボックスだったらPicture3.hDCですね。

nXDest
コピー先の左上の x 座標を指定します。

nYDest
コピー先の左上の y 座標を指定します。

nWidth

コピー元のコピーするビットマップの幅を指定します。

nHeight

コピー元のコピーするビットマップの幅を指定します。

hdcSrc
コピー元のデバイスコンテキストのハンドルを指定します。

nXSrc
コピー元の x 座標を、指定します。

nYSrc
コピー元の y 座標を、指定します。

dwRop

ラスタオペレーションコードを指定します。ラスタオペレーションコードは、コピー元およびコピー先の色データをどのように結合するかを定義します。

よく使われるラスタオペレーションコードを、次の表に示します。
ラスタオペレーションコード定数
BLACKNESS &H42 物理パレットのインデックス 0 に対応する色 (デフォルトは黒) で、コピー先の長方形を塗りつぶします。
DSTINVERT &H550009 コピー先長方形の色を反転します。
MERGECOPY &HC000CA コピー元の色と、コピー先の色を、論理 AND 演算子で結合します。
MERGEPAINT &HBB0226 コピー元の色を反転した色と、コピー先の色を、論理 OR 演算子で結合します。
NOTSRCCOPY &H330008 コピー元の色を反転して、コピー先にコピーします。
NOTSRCERASE &H1100A6 コピー元の色と、コピー先の色を、論理 OR 演算子で結合し、さらに反転します。
PATCOPY &HF00021 指定したパターンをコピー先にコピーします。
PATINVERT &H5A0049 指定したパターンの色と、コピー先の色を、論理 XOR 演算子で結合します。
PATPAINT &HFB0A09 指定したパターンの色と、コピー元の色を反転した色を、論理 OR 演算子で結合し、さらにその結果を、コピー先の色と論理 OR 演算子で結合します。
SRCAND &H8800C6 コピー元の色と、コピー先の色を、論理 AND 演算子で結合します。
SRCCOPY &HCC0020 コピー元をコピー先にそのままコピーします。
SRCERASE &H440328 コピー先の色を反転した色と、コピー元の色を、論理 AND 演算子で結合します。
SRCINVERT &H660046 コピー元の色と、コピー先の色を、論理 XOR 演算子で結合します。
SRCPAINT &HEE0086 コピー元の色と、コピー先の色を、論理 OR 演算子で結合します。
WHITENESS &HFF0062 物理パレットのインデックス 1 に対応する色 (デフォルトは白) で、コピー先の長方形を塗りつぶします。

使用例(ピクチャーボックスを3つ、コマンドボタン追加)
ピクチャーボックス1
ピクチャーボックス2
ピクチャーボックス3
上記の3枚をピクチャーボックスに前もって張り付けて下さい

'ここからソースです
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Const SrcCopy = &HCC0020
Const SrcAnd = &H8800C6
Const SrcPaint = &HEE0086
'この他の定数は下記のパラメータをご覧下さい
'必要に応じて追加して下さい

Private Sub Form_Load()
Picture1.AutoRedraw = True
Picture2.AutoRedraw = True
Picture3.AutoRedraw = True
Picture1.AutoSize = True
Picture2.AutoSize = True
Picture3.AutoSize = True
Picture1.ScaleMode = 3
Picture2.ScaleMode = 3
Picture3.ScaleMode = 3
'APIの場合ピクセルにするのは暗黙の了解です
End Sub

Private Sub Command1_Click()
BitBlt Picture3.hDC, 0, 0, Picture2.Width, Picture2.Height, Picture2.hDC, 0, 0, SrcPaint
'モコナの白抜画像を背景とORします
BitBlt Picture3.hDC, 0, 0, Picture1.Width, Picture1.Height, Picture1.hDC, 0, 0, SrcAnd
'モコナの画像と背景とANDします
'こうする事によって、背景にモコナを描けます
'この方法だと、白色すけます
Picture3.Refresh
End Sub

コメント
ゲームでキャラクターを表示させる時に便利です。
手を加えると、移動できます。
その時は、キャラクターの残像を消す作業が入ります。