Evo ti deo koda koji sam ja napisao u nekoj aplikaciji.
Code:
// Deklaracije promenljivih za stampu
private System.Drawing.Printing.PrintDocument ThePrintDocument;
private System.Windows.Forms.PrintDialog printDialog;
// Sve neophodne funkcije
// Ovo pozoves iz konstruktora, jedanput
private void InitializePrintComponent()
{
this.printDialog = new PrintDialog();
this.ThePrintDocument = new System.Drawing.Printing.PrintDocument();
this.ThePrintDocument.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.ThePrintDocument_PrintPage);
}
//Tri f-je koje podrazumevaju postojanje menija.
// Tj. u mom programu se pozivaju iz menija. :)
// A ti pozovi odakle ti je zgodno.
private void menuItemPrintPreview_Click(object sender, System.EventArgs e)
{
try
{
PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog();
printPreviewDialog1.Document = this.ThePrintDocument ;
printPreviewDialog1.FormBorderStyle = FormBorderStyle.Sizable;
printPreviewDialog1.Bounds = new Rectangle(50, 50, 800, 600);
printPreviewDialog1.ShowDialog();
}
catch
{
}
}
private void menuItemPrintSettings_Click(object sender, System.EventArgs e)
{
printDialog.Document = this.ThePrintDocument;
printDialog.ShowDialog();
}
private void menuItemStampa_Click(object sender, System.EventArgs e)
{
this.ThePrintDocument.Print();
}
// Ova se f-ja poziva 'automatski', pozivom ThePrintDocument.Print()
protected void ThePrintDocument_PrintPage (object sender, System.Drawing.Printing.PrintPageEventArgs ev)
{
float leftMargin = ev.MarginBounds.Left;
float topMargin = ev.MarginBounds.Top;
Font printFont = new Font("Verdana", 11);
SolidBrush myBrush = new SolidBrush(Color.Black);
float yPosition = topMargin;
// Stampa se svodi na crtanje (!) po Graphics-u.
float pozicijaTeksta = leftMargin;
Strint tekst = "Ovo ce sada, blago nama, biti nastampano";
ev.Graphics.DrawString(tekst, printFont, myBrush, leftMargin, yPosition, new StringFormat());
// ... ovde sada crtas po graphic-u do mile volje
// I na kraju:
ev.HasMorePages = false;
myBrush.Dispose();
}
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji