Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » FAQ VC++ / MFC » CPageSetupDialog / CPrintDialog

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.01.2003, 16:43 Uhr
Uwe
C/C++ Master
(Administrator)


Autor Uwe Fröhlich


C++:
void CPage_Setup_DialogDlg::OnButton1()
{
        // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen

        CString strMsg, strMsg2,strMsg3,strMsg4;

        CPageSetupDialog dlg;
        dlg.DoModal();

        RECT minRand;
        RECT Rand;

        CSize PapierGroesse;

        LPDEVMODE dev_mode;

        //Die Ergebnisse ausgeben
        //Druckerdaten

        strMsg.Format("Der Gerätename ist: %s\n\
        Der Treibername ist: %s\n\
        Der Port Name ist: %s\n"
,
        dlg.GetDeviceName(),
        dlg.GetDriverName(),
        dlg.GetPortName()
        );

        AfxMessageBox(strMsg);

        //Papierdaten: Die Umrechnung der Einheiten in mm wurden
        // nicht berücksichtigt!

        //Den Rand holen

        dlg.GetMargins(&Rand, &minRand);
        strMsg2.Format("Der Rand beträgt, Oben=%d, Unten=%d\
        Links=%d, Rechts=%d\n"
,
        Rand.top, Rand.bottom, Rand.left, Rand.right);

        AfxMessageBox(strMsg2);

        //Papiergröße holen

        PapierGroesse = dlg.GetPaperSize();

        strMsg3.Format("Die Papiergröße beträgt:, x=%d, y=%d\n",
        PapierGroesse.cx, PapierGroesse.cy);

        AfxMessageBox(strMsg3);

        //Gräte -initialisierungs und -umgebungsdaten
        //Die Daten Struktur von DEVMODE wird bewusst in
        //den einzelnen Bestandteilen angezeigt

        dev_mode = dlg.GetDevMode();

        strMsg4.Format("dmDeviceName ist: %s\n\
        dmSpecVersion ist: %d\n\
        dmDriverVersion ist: %d\n\
        dmSize ist: %d\n\
        dmdriver extra ist: %d\n\
        dmFields ist: %d\n\
        dmOrientation ist: %d\n\
        dmPaperSize ist: %d\n\
        dmPaperLength ist: %d\n\
        dmPaperWidth ist: %d\n\
        dmScale ist: %d\n\
        dmCopies ist: %d\n\
        dmDefaultSource ist: %d\n\
        dmPrintQality ist: %d\n\
        dmColor ist: %d\n\
        dmDuplex ist: %d\n\
        dmYResolution ist: %d\n\
        dmTTOption ist: %d\n\
        dmCollate ist: %d\n\
        dmFormName ist: %s\n\
        dmBitsPerPel ist: %d\n\
        dmPelsWidth ist: %d\n\
        dmPelsHeight ist: %d\n\
        dmDisplayFlags ist: %d\n\
        dmDisplayFrequency ist: %d\n"
,
        dev_mode->dmDeviceName,
        dev_mode->dmSpecVersion,
        dev_mode->dmDriverVersion,
        dev_mode->dmSize,
        dev_mode->dmDriverExtra,
        dev_mode->dmFields,
        dev_mode->dmOrientation,
        dev_mode->dmPaperSize,
        dev_mode->dmPaperLength,
        dev_mode->dmPaperWidth,
        dev_mode->dmScale,
        dev_mode->dmCopies,
        dev_mode->dmDefaultSource,
        dev_mode->dmPrintQuality,
        dev_mode->dmColor,
        dev_mode->dmDuplex,
        dev_mode->dmYResolution,
        dev_mode->dmTTOption,
        dev_mode->dmCollate,
        dev_mode->dmFormName,
        dev_mode->dmBitsPerPel,
        dev_mode->dmPelsWidth,
        dev_mode->dmPelsHeight,
        dev_mode->dmDisplayFlags,
        dev_mode->dmDisplayFrequency
        );

        AfxMessageBox(strMsg4);
}

void CPrint_DialogDlg::OnButton1()
{
        // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen

        //Die DEVMODE Struktur kann hier ebenso genutzt werden, siehe Beispiel
        //CPageSetupDialog
        //LPDEVMODE dev_mode;

        CString strMsg;

        CPrintDialog dlg(false,
            PD_ALLPAGES|PD_COLLATE|PD_PAGENUMS|PD_SHOWHELP);

        dlg.DoModal();

       //Das Ergebnis ausgeben

        strMsg.Format("Anzahl der Kopien: %d\n\
        Gerätename: %s\n\
        Treiber: %s\n\
        Drucken von: %d\n\
        Drucken bis: %d\n\
        Portname: %s\n\
        Alles drucken: %d\n\
        Markierung: %d\n"
,
        dlg.GetCopies(),
        dlg.GetDeviceName(),
        dlg.GetDriverName(),
        dlg.GetFromPage(),
        dlg.GetToPage(),
        dlg.GetPortName(),
        dlg.PrintAll(),
        dlg.PrintSelection()
        );

        AfxMessageBox(strMsg);
}



--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 18.01.2003 um 16:44 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ FAQ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: