La Web del Programador: Comunidad de Programadores
 
    Pregunta:  5612 - FUNCIONAMIENTO DE BITBLT
Autor:  Santiago Franchi
Estoy haciendo un programa donde necesito aplicar la función BitBlt, pero ¡no la entiendo! Si alguien me puede mandar una explicación o código de fuente, le estaría muy agradecido.

  Respuesta:  Roberto Favaro
Bueno, da la casualidad que me llamo santiago. La cosa es asi: para usar la funcion BtlBlt o como se llame tenes que
1) delacrar la funcion (en un modulo como public o en un formulario como private).

Public Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (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

o

Private Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (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

2) despues usarla, suponete que queres copiar una imagen de un picture box1 a otro picturebox2
primero tenes que establecer la propiedad autoredraw a true de los dos picture box y la prop. scalemode = vbpixels
y la prop del picture1.picture tenes que caragr alguna imagen

private sub command1_click(....)
bitblt picture2.hdc,0,0,picture2.scalewidth,picture2.sacleheight,picture1.hdc,0,0,vbsrccopy
picture2.refresh
end sub

bueno ahora no tengo mas tiempo pero si no entendes manda e-mail que te contesto tus dudas