002
14.02.2006, 08:20 Uhr
~antalia
Gast
|
also erstens es gibt keine bescheuerten Fragen, hab ich mal gelernt!
und zweitens:
ich würd gern nen Bitmap drucken, aber erstmal hab ichs nur mit Text probiert. Und so sieht meine Funktion aus:
C++: |
// Unser Drucker- Handle, dieser wird von der Methode Get_Printer mit den Druckerinfos // beschrieben. HDC printer_Handle; // Hier definieren wir uns unsere eigene Schriftart CFont unser_Courier_New; // eine Docinfo, in der wir uns den Aufbau der Seite vorgeben. DOCINFO docinfo; // Die Matrix fuer die Transformation in Druckerkoordinaten. XFORM xForm; // Mit dieser Methode definieren wir uns unsere Schriftart. Schriftarten_definieren(&unser_Courier_New); // Der Handle auf den Printer wird geholt. Get_Printer(&printer_Handle); // Die Informationen ueber die Seite welche an den Drucker gegeben werden. docinfo.cbSize = sizeof(DOCINFO); docinfo.lpszDocName = "Plan-Doc"; docinfo.lpszOutput = NULL; docinfo.lpszDatatype = NULL; docinfo.fwType = 0;
// Ein neues Dokument wird begonnen. StartDoc(printer_Handle, &docinfo);
// Um die Transformationsmatrix setzen zu koenne muessen erst noch einige Einstellungen // geaendert werden. SetGraphicsMode(printer_Handle, GM_ADVANCED); SetMapMode(printer_Handle, MM_HIMETRIC);
// Definition der Transformationsmatrix. xForm.eM11 = (FLOAT) 4.0; xForm.eM12 = (FLOAT) 0.0; xForm.eM21 = (FLOAT) 0.0; xForm.eM22 = (FLOAT) 4.0; xForm.eDx = (FLOAT) 0.0; xForm.eDy = (FLOAT) -29000.0;
SetWorldTransform(printer_Handle, &xForm); //drucken Blattdrucken(&printer_Handle, &unser_Courier_New); EndPage(printer_Handle);
// Das Dokument ist abgeschlossen. EndDoc(printer_Handle);
|
das funktioniert zwar im Debug-Modus, aber im Release-Modus bricht er das Programm ab. |