Majestix Geschrieben 31. Mai 2006 Geschrieben 31. Mai 2006 Hi, ich breuchte bei einem Schulprojekt hilfe. Und zwar geht es darum das in C++ eine druck version eingefügt werden soll. Als Compiler steht uns Borland Professional v5.0 zur verfügung. Bisher habe ich gelesen das folgende funktionen: EnumPrinters() PrinterProperties() ClosePrinter() StartDoc() StartPage() EndDoc() EndPage() http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_9fjn.asp hilfreich sein könnten. Aber ich versteh in keinster weise wie ich die anwenden kann. Eigentlich möchte ich nur wissen wir ein ganz einfacher Druckerdialog aufgehen kann, und was noch wichtig wäre das ich einen Drucker festlegen kann der automatisch genommen wird. danke vorab!! Zitieren
Klotzkopp Geschrieben 31. Mai 2006 Geschrieben 31. Mai 2006 Eigentlich möchte ich nur wissen wir ein ganz einfacher Druckerdialog aufgehen kann,Das geht mit der Funktion PrintDlg (bzw. PrintDlgEx unter Windows 2000 / XP). Zitieren
Majestix Geschrieben 31. Mai 2006 Autor Geschrieben 31. Mai 2006 hi, erstmal danke. momentan habe ich es so gemacht das ich mir in "Borland" einen DruckDialog auf die Form gezogen hab. Diesen Spreche ich nun mit: DruckDialog1->Execute() an. Nun geht das "Druckerauswahlfenster" auf. Nur er druckt nix.. was auch irgendwie klar ist. Ich müsste nun wissen wie ich ihm angebe welcher "Text" innerhalb der Form gedruckt werden soll, und wie ich von vorne herein ein Default printer übergeben kann sodass das Druckauswahlfenster eigentlich gar nicht mehr erscheint. ^^ xD danke Zitieren
Klotzkopp Geschrieben 31. Mai 2006 Geschrieben 31. Mai 2006 Du kannst bei PrintDlg mit dem Flag PD_RETURNDEFAULT angeben, dass der Dialog nicht angezeigt werden soll, sondern gleich die Daten des Standarddruckers eingetragen werden. Da der Borland-Dialog vermutlich ein Wrapper um PrintDlg ist, wird das damit wohl auch irgendwie gehen. Wenn du einen bestimmten Drucker (nicht den Standarddrucker) vorgeben willst, brauchst du gar keinen Druckerauswahldialog. Zitieren
Majestix Geschrieben 31. Mai 2006 Autor Geschrieben 31. Mai 2006 also momentan habe ich folgendes man klickt auf einen button: PrintDialog1->Options.Clear(); PrintDialog1->Options << poPageNums << poSelection; PrintDialog1->FromPage = 1; PrintDialog1->MinPage = 1; PrintDialog1->ToPage = 2; PrintDialog1->MaxPage = 3; if (PrintDialog1->Execute()) { int Start, Stop; // determine the range the user wants to print switch (PrintDialog1->PrintRange) { case prSelection: Start = 1; Stop = Start; break; case prPageNums: Start = PrintDialog1->FromPage - 1; Stop = PrintDialog1->ToPage - 1; break; default: // prAllPages Start = PrintDialog1->MinPage - 1; Stop = PrintDialog1->MaxPage - 1; break; } // jetzt den gewnschten Bereich drucken Printer()->BeginDoc(); for (int i = Start; i <= Stop; i++) { if (i != Stop) Printer()->NewPage(); } Printer()->EndDoc(); } so weit sogut, funktioniert auch einwandfrei. ich kapier nur nicht wo ich angeb, welche inhalt gedruckt werden soll.. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.