Veröffentlicht 31. Mai 200619 j 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!!
31. Mai 200619 j 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).
31. Mai 200619 j 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
31. Mai 200619 j 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.
31. Mai 200619 j 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..
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.