Verwenden des Dialogs "Drucken" von Windows

Die Funktion WinOpen() bietet dem Entwickler neben dem Laden selbst definierter Dialoge, auch einen Zugriff auf die Windows-Standarddialoge (Common Dialog Control) wie Öffnen, Speichern, Drucken etc. Im folgenden Artikel gehe ich darauf ein, wie der Dialog Drucken in CONZEPT 16 verarbeitet werden kann.



Um den Anwender den Drucken-Dialog zur Verfügung stellen zu können, muss dieser über die Funktion WinOpen() mit der Option _WinComPrint geladen werden.
In diesem Dialog hat der Anwender die Möglichkeit, bestimmte Einstellungen für die anschließende Druckausgabe vorzunehmen. Zu den Einstellungen zählen zum Beispiel der Bereich der zu druckenden Seiten oder die Anzahl der Kopien.

Standarddialog „Drucken“

Die Einstellungen des Fensters lassen sich nicht nur ermitteln, sondern können bereits beim Laden des Dialogs mit Werten vorbelegt werden. Nach dem Schließen des Dialogfelds werden die Daten allerdings nicht an den Drucker gesendet. Damit die Druckausgabe die Daten des Dialogs berücksichtigen kann, müssen die Werte auch bei dem CONZEPT 16-Druckjob-Objekt PpvComPrint gesetzt werden.

Nachfolgendes Beispiel zeigt die prozedurale Verarbeitung des Drucken-Dialogs:

// Öffnen Standard-Drucker
tDevice # PrtDeviceOpen('',_PrtDeviceSystem);

// Laden Dialog "Drucken"
tComPrt # WinOpen(_WinComPrint,0,tDevice);

tComPrt->wpMinInt    # tMinInt;
tComPrt->wpMaxInt    # tMaxInt;

// Drucken der Seiten 2 bis 3
tComPrt->wpPageFrom  # 2;
tComPrt->wpPageTo    # 3;

// Setzen Radio-Button "Seiten von..bis"
tComPrt->wpFlags     # _WinComPrintPageRange;

if (tComPrt->WinDialogRun() = _WinIdOk)
{
  // Druckjob öffnen
  tJob # PrtJobOpen('',_Sys->spPathMyDocuments
                    + '\MyPrintJob.job',_PrtJobOpenRead);
  if (tJob > 0)
  {
    // Objekt "PpvComPrint" ermitteln
    tJobPrt # tJob->WinSearch('PpvComPrint');
    if (tJobPrt > 0)
    {
      // Einstellungen des Drucken-Dialogs übernehmen
      tJobPrt->wpMinInt   # tComPrt->wpMinInt;
      tJobPrt->wpMaxInt   # tComPrt->wpMaxInt;
      tJobPrt->wpPageFrom # tComPrt->wppageFrom;
      tJobPrt->wppageTo   # tComPrt->wppageTo;
      tJobPrt->wpFlags    # tComPrt->wpFlags;
    }
  }
  // Druckausgabe starten
  tJob->PrtJobClose(_PrtJobPrint,tDevice);
}

2 Antworten

  1. Was ist mit den Eigenschaften, die man über den "Eigenschaften"-Button einstellt ? (z.B. beidseitiger Druck)
    Gehen die verloren oder werden sie automatisch übernommen ?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Leave the field below empty!

This form type is not available for selected form
This form type is not available for selected form

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

GDPR Cookie Consent mit Real Cookie Banner