HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

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:
    ReleaseDC(Handle, DC);
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;


Cikksorozat

#IDKategóriaCikk címeSorozat
3333WindowsNet Shell parancsok1. rész
3367WindowsNet Shell parancsok2. rész
3396WindowsNet Shell parancsok3. rész


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!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |