|
|
Form nyomtatása programból
|
|
Példaprogram letöltése
10608 bájt
|
Ebből a példából megtudhatjuk, hogy hogyan lehet egy Form-ot programból kinyomtatni, valamint azt, hogy hogyan férhetünk hozzá a Form-unk képéhez.
A példában egy Form található két RadioButton, egy TButton, egy TBevel, és egy TStatusBar komponenssel, valamint egy QuickReport komponens a nyomtatáshoz, amelyen egy QRImage komponens van egy QRBand-re helyezve.
Ahhoz, hogy hozzáférjünk a Form-unk képéhez, szükségünk lesz a Form leírójára (device context - DC). Itt viszont már rögtön két lehetőségünk is van: ha a teljes Form képére van szükségünk, akkor a GetWindowDC függvényt kell használnunk, ha viszont csak a kliens területre, akkor a GetDC függvényt. Mindkét függvénynek a Form Handle property-jét kell megadnunk.
procedure TForm1.Button1Click(Sender: TObject);
var DC: HDC;
begin
if RadioButton1.Checked then
begin
DC:=GetWindowDC(Handle);
QuickReport1.QRImage1.Width:=Width;
QuickReport1.QRImage1.Height:=Height;
end else
begin
DC:=GetDC(Handle);
QuickReport1.QRImage1.Width:=ClientWidth;
QuickReport1.QRImage1.Height:=ClientHeight;
end;
Ha megvan a leíró, akkor beállítjuk a QuickReport-on elhelyezett QRImage méretét a Form-unk méretére, majd középre igazítjuk azt:
QuickReport1.QRImage1.Left:=
QuickReport1.QRBand1.Width div 2 -
QuickReport1.QRImage1.Width div 2;
A BitBlt eljárással átmásoljuk a Form-unk képét a QRImage Canvas-ára. Első paraméterként meg kell adnunk a QRImage Handle property-jét, az X és Y pozíciókat, a szélességet és magasságot, a forrás leíróját (DC), a forrás kép X, Y pozícióját, valamint a másolása módját:
BitBlt(QuickReport1.QRimage1.Canvas.Handle, 0, 0,
Width, Height, DC, 0, 0, SrcCopy);
Mivel a Form leírójára már nincs szükségünk, ezért a ReleaseDC eljárással felszabadítjuk azt:
Most már nincs más teendőnk, csupán meg kell jeleníteni a QuickReport-ot, ahonnan a nyomtatás kivitelezhető.
QuickReport1.Preview;
end;
|
Könyv
Ez a cikk megtalálható ebben a könyvben:
Delphi Software Offline 2001 évkönyv 219. oldal
Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!
|