I am using the StretchBlt windows function to create a magnifier that follows the mouse in one of my applications, However it does not "see" a Delphi form that has the TransparentColor property set to true.
I discovered long ago that when using BitBlt to take a screenshot I had to combine SCRCOPY with CAPTUREBLT ($4000000) like so: SRCCOPY or CAPTUREBLT in order to "see" such forms in my screenshot.
BitBlt(DestBitmap.Canvas.Handle, 0, 0, DestBitmap.Width, DestBitmap.Height, DC, ox, oy, SRCCOPY or CAPTUREBLT);
(That sees forms with TransparentColor=True)
However doing that with StretchBlt does not have the same effect:
StretchBlt(Canvas.Handle, 0, 0, Width, Height, FDC,
P.X, P.Y, SrcWidth, SrcHeight, SRCCOPY or CAPTUREBLT);
Does not see forms with TransparentColor = true.
Any suggestions on how to make that work? Wheat I need to be able to do is see the portion of the form or of an image on the form that is in a color <other> than the defined transparent color.