Announcement

Collapse
No announcement yet.

PrintDlg initialisieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PrintDlg initialisieren

    <html>

    <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1">
    <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
    <title>Normale Seite ohne Titel</title>
    </head>

    <body bgcolor="#FFFFFF">

    <p>Hallo, wie kann ich bei einem PrintDlg die Felder pd.hDevMode
    und pd.hDevNames <font size="4"><strong>vor</strong></font> dem
    ersten Aufruf des Dialoges initialisieren und mit Daten füllen ?
    Mein Programm benötigt in der Regel vom Standarddrucker
    abweichende Einstellungen, diese sollen im Printer-Setup bereits
    voreingestellt sein. Außerdem möchte ich erreichen, einen
    Ausdruck auch ohne einen Initialisierungs-Aufruf des PrintDlg
    hinzubekommen. Alle Versuche pd.hDevMode und pd.hDevNames etwas
    anderes als NULL zuzuweisen, sind bisher fehlgeschlagen. Das war
    damals noch unter WIN16. Jetzt unter WIN32 wird es noch etwas
    komplizierter, weil sizeof(DEVMODE) je nach Betriebsystem
    unterschiedlich ist. Danke - Günther</p>

    <pre>PRINTDLG pd;
    //DEVMODE myDevMode;
    //DEVNAMES myDevNames;

    int DruckerDialog(HWND hWnd)
    {
    static int init=0;
    int ok;
    if(!init) // nur beim ersten mal
    {
    init=1;
    memset(&amp;pd,0,sizeof(PRINTDLG));
    pd.lStructSize=sizeof(PRINTDLG);
    pd.Flags=PD_PRINTSETUP|PD_RETURNDC;
    <strong>pd.hDevMode=NULL;
    pd.hDevNames=NULL;</strong>
    // pd.hDevMode=&amp;myDevMode; // funktioniert nicht
    // pd.hDevNames=&amp;myDevNames; // funktioniert nicht
    }
    pd.hwndOwner=hWnd;
    ok=<strong>PrintDlg(&amp;pd);</strong>
    </pre>
    </body>
    </html>
    Günther
Working...
X