{
Capturing a CLX form is easy, once you know.
It took me a little time to find out, so I'm giving the knowledge to help others :
}
type TFormCapturable = class(TForm) public
procedure PrintOne; end;
var FormCapturable: TFormCapturable;
implementation
uses Qt;
procedure TFormCapturable.PrintOne; var aBitmap : TBitmap;
aWinHandle : QWidgetH;
aWinId : Cardinal;
x, y, w, h : integer; begin // create a new bitmap to hold the captured screen aBitMap := TBitmap.Create; try // get a handle on the desktop aWinHandle := QApplication_desktop; // get the Id from the desktop handle aWinId := QWidget_winId( aWinHandle); // get the position and size of the windows x := Self.Left;
y := Self.Top;
w := Self.Width;
h := Self.Height; // capture the window into the bitmap's pixmap QPixmap_grabWindow( aBitmap.Handle, aWinId, x, y, w, h); // save the bitmap aBitMap.SaveToFile( 'c:\temp\test.bmp'); finally // don't forget to kill the bitmap after use. FreeAndNil( aBitMap); end; end;