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