Text drucken unter Angabe der Position
-
Hallo zusammen,
durch die Suche habe ich nicht gefunden, was ich brauche, oder ich habe es übersehen.
Ich möchte einen Text drucken und dabei angeben, dass dieser z.B. 25mm vom oberen Rand und 30mm vom linken Rand gedruckt wird - und zwar in derSchriftgröße von 12 in der Schriftart Times New Roman. Das Problem dabei ist allerdings die Umrechnung auf die jeweilige Auflösung, usw...
Vielleicht hat ja jemand eine Idee oder einen guten Link.
Hier ist meine kleine Testfunktion:
struct tPrint { PRINTDLG pd; DOCINFO di; HWND hwndPrint; int iAnzKopien; int iFromPage; int iToPage; string sSpoolname; }; ZeroMemory(&MyPrint.pd, sizeof(MyPrint.pd)); MyPrint.pd.lStructSize = sizeof(MyPrint.pd); MyPrint.pd.hwndOwner = MyPrint.hwndPrint; MyPrint.pd.hDevMode = NULL; // Don't forget to free or store hDevMode MyPrint.pd.hDevNames = NULL; // Don't forget to free or store hDevNames MyPrint.pd.Flags = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC | PD_ALLPAGES | PD_HIDEPRINTTOFILE | PD_NOSELECTION | PD_PRINTSETUP | !PD_NONETWORKBUTTON; MyPrint.pd.nCopies = MyPrint.iAnzKopien; MyPrint.pd.nFromPage = MyPrint.iFromPage; MyPrint.pd.nToPage = MyPrint.iToPage; MyPrint.pd.nMinPage = 1; MyPrint.pd.nMaxPage = MyPrint.iToPage; pd.hInstance = MyPrint.hInst; if (PrintDlg(&MyPrint.pd)==TRUE) { memset(&MyPrint.di, 0, sizeof(DOCINFO)); MyPrint.di.cbSize = sizeof(DOCINFO); MyPrint.di.lpszDocName = MyPrint.sSpoolname.c_str(); MyPrint.di.lpszOutput = (LPTSTR) NULL; MyPrint.di.fwType = 0; StartDoc(MyPrint.pd.hDC, &MyPrint.di); StartPage(MyPrint.pd.hDC); //DRUCKEN TextOut(MyPrint.pd.hDC, x, y, "test", 4); EndPage(MyPrint.pd.hDC); EndDoc(MyPrint.pd.hDC); // Dokument wird geschlossen DeleteDC(MyPrint.pd.hDC); if (MyPrint.pd.hDevMode != NULL) GlobalFree(MyPrint.pd.hDevMode); if (MyPrint.pd.hDevNames != NULL) GlobalFree(MyPrint.pd.hDevNames); }x/y sollten dann die Millimeter-Angaben sein, die es auf die verschiedenen Druckerauflösungen umzurechnen gilt. Aber ich weiß nicht, wie.
Danke schon einmal.
Steffen