Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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!!

Geschrieben

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

Geschrieben

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.

Geschrieben

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..

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...