透過色指定でビットマップを描くときは TransparentBlt() を使うといい

VC2005だとCDCにTransparentBlt()関数が追加されたみたい。


哀しいかなVC6で作ることになってしまったら、BitBlt関数の代わりに
msimg32.libをリンクして、::TransparentBlt()を使うといいです。

ヘルプはこちら

最後の引数で透過色/透明色を指定。赤を透明にするなら

RGB(0xff,0,0)

ということ。