Transparency of part of a canvas

Is it possible to make part of a canvas transparent? I am copying part of a large picture on to a new canvas but want one slot of the new canvas to remain transparent so that the backcolor of the window shows through. I am using RGBSurface to copy pixel by pixel:

    [code]if (certain pixels are selected) then
      r2.Pixel(h, v ) = r1.Pixel(h + HorizStart , v + gVert ) //-- normal part of picture 
      r2.Pixel(h, v ) = rgb(148,206,255) //-- same color as window so looks like a slot
    end if[/code]

This gets round the need for transparency but my problem is that I want to be able to change the color of the window. I can’t change to color of the pixels when I change the color of the window, so the only answer seems to be to be able to make the slot transparent in the first place and the window color can then show through. Any thoughts, please?