[Lazarus] Copying form client area to clipboard and to file

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Sun May 30 10:30:39 CEST 2010


Felipe Monteiro de Carvalho wrote:
> I don't think you will find a solution using only LCL code, because
> the canvas doesn't include child windowed controls. You could even try
> to rebuild the image using the canvases, but that won't guarantee that
> it is the exact image on the screen.
> 
> I did a short googling and there is a Qt routine to do what you want in Windows:
> 
> http://stackoverflow.com/questions/1774222/taking-screenshot-of-a-specific-window-c-qt
> 
> You could see the Qt source code to check what this does for the
> Windows part of the solution.
> 
> They also recommend checking out the code of KSnapShot to see how to
> do this using X11.
> 
> I would try that stuff.
> 
> If you find the solution it would be great it you document it in the wiki =)
> 
> Like I did for screenshot taking:
> 
> http://wiki.lazarus.freepascal.org/Developing_with_Graphics#Taking_a_screenshot_of_the_screen

And there was I thinking it was bound to be easy and I was asking a FAQ :-)

OK, so if I composite the small group of visible controls into 
something- a TImage on a non-visible form?- what do I do next to 
transfer that to the clipboard or a file? I'm still having difficulty 
seeing how the various classes etc. hang together.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]




More information about the Lazarus mailing list