HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Postai ajánlott szelvény kitöltése számítógéppel


Nyomtatás 4. rész

Példaprogram letöltése

184632 bájt

Nyomtatás sorozatunk mostani részében egy gyakorlati feladatot valósítunk meg, ahol egy postai ajánlott szelvény kitöltésére nyílik lehetőség. Ennek megvalósításához pontosan kell pozícionálnunk a nyomtatandó szövegeket, mivel itt egy előre nyomtatott papírról van szó, melyen kötöttek a helyek, ahová írnunk kell.

A szelvényre kerülő információt a felhasználók TextBox-okon keresztül, illetve CheckBox-ok megjelölésével adhatják meg. Nyomtatás megkezdésekor ezeket az információkat kell a papírra írnunk a megfelelő pozícióba.
    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
      Graphics g = e.Graphics;
      Font f = new Font("Verdana", 8);
      Pen p = new Pen(Color.Black, 0.4f);
      SolidBrush b = new SolidBrush(Color.Black);
Ezeket a pozíciókat egyszerűen lemérhetjük és így milliméterben rendelkezésünkre állnak azon koordináták, melyekre a szövegeket írni kell. Csakhogy a Graphics osztályban alapértelmezés szerint pixelben adhatók meg az értékek. Bonyolult számítgatások helyett állítsuk át ezt az alapértelmezést és így nem kell milliméterről pixelre konvertálnunk az értékeket. Ehhez a Graphics osztály PageUnit property-je használható.
      g.PageUnit = GraphicsUnit.Millimeter;
Fontos még bevezetnünk két változót, melyben megadhatunk egy x, y irányú eltérést. E két számot minden koordinátához hozzáadjuk, mert gyakorlati tapasztalat alapján elmondható, hogy ritka, amikor a postán két egyforma szelvényt kapunk, ha azokat nem egy időben hozzuk el. Néhány milliméteres eltérés is előfordulhat a szelvény szélétől számítva. Ezt viszont e két változó bevezetésével könnyen korrigálhatjuk.
      int ox = -3;
      int oy = -3;
Ezt követően már nem marad más hátra, mint a megfelelő pozíciókba történő szöveg kiírás, ahol figyelembe vesszük az imént bevezetett két változó értékét is.
      g.DrawString(textBox1.Text, f, b, ox+35, oy+27);
      g.DrawString(textBox2.Text, f, b, ox+35, oy+31.5f);
      ...
CheckBox-ok értékeinek megjelenítéséhez két vonalat rajzolunk a megfelelő pozícióba, mely egy X alakú ábrát fog adni.
      if (checkBox1.Checked)
      {
        g.DrawLine(p, ox+33.5f, oy+43f, ox+36.5f, oy+46f);
        g.DrawLine(p, ox+36.5f, oy+43f, ox+33.5f, oy+46f);
      }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2001 évkönyv 426. 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 |