Comroader Geschrieben 25. März 2002 Teilen Geschrieben 25. März 2002 Hallo, Weiss jemand von euch wie man mit ShellExecute eine Textdatei in Querformat druckt ??? Für eine schnelle Antwort wäre ich sehr dankbar !!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gugelhupf Geschrieben 26. März 2002 Teilen Geschrieben 26. März 2002 mit der shell weiss ichs net, aber mit der winapi gehts *ggg* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Comroader Geschrieben 26. März 2002 Autor Teilen Geschrieben 26. März 2002 Könntest du vielleicht einmal ins Forum posten wie das mit der WINAPI geht. Es ist eigentlich egal wies funzt, Huaptsache es geht !!! THX Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gugelhupf Geschrieben 26. März 2002 Teilen Geschrieben 26. März 2002 Aus einer Applikation die bei uns läuft: ///////////////////// Drucken über Netzwerkdrucker //////////////// LOGFONT lf; lf.lfHeight=2100; lf.lfWidth=0; lf.lfEscapement=0; lf.lfOrientation=0; lf.lfWeight=FW_BOLD; lf.lfItalic=FALSE; lf.lfUnderline=FALSE; lf.lfStrikeOut=0; lf.lfCharSet=ANSI_CHARSET; lf.lfOutPrecision=OUT_DEFAULT_PRECIS; lf.lfClipPrecision=CLIP_DEFAULT_PRECIS; lf.lfQuality=DEFAULT_QUALITY; lf.lfPitchAndFamily=DEFAULT_PITCH | FF_SWISS; strcpy(lf.lfFaceName,"Courier New"); HFONT hFont=CreateFontIndirect(&lf); DOCINFO di; HDC ghdc; LPDEVMODE DruckerInfos; HANDLE hPrinter; DWORD wert; /////////////////////////// Rechnername checken ///////////////// char PC_Name[50]; AfxSocketInit(); ::gethostname(PC_Name,50); // Name ist ermittelt if(strcmp(PC_Name,"Versand8")!=0) // prüfen wer wo drucken will { // if(!(OpenPrinter("HP LaserJet 5L",&hPrinter,NULL))) if(!(OpenPrinter("\\\\EXTRA\\395_q.logistik.extra",&hPrinter,NULL))) { MessageBox("Kann Drucker nicht öffnen !"); return; } //wert=DocumentProperties(NULL,hPrinter,"HP LaserJet 5L",NULL,NULL,0); // Schritt eins wert=DocumentProperties(NULL,hPrinter,"\\\\EXTRA\\395_q.logistik.extra",NULL,NULL,0); // Schritt eins DruckerInfos=(LPDEVMODE)malloc(wert); //DocumentProperties(NULL,hPrinter,"HP LaserJet 5L",DruckerInfos,NULL,DM_OUT_BUFFER); // Schritt zwei DocumentProperties(NULL,hPrinter,"\\\\EXTRA\\395_q.logistik.extra",DruckerInfos,NULL,DM_OUT_BUFFER); // Schritt zwei DruckerInfos->dmOrientation=DMORIENT_LANDSCAPE ; //wert=DocumentProperties(NULL,hPrinter,"HP LaserJet 5L",DruckerInfos,DruckerInfos,DM_IN_BUFFER | DM_OUT_BUFFER); wert=DocumentProperties(NULL,hPrinter,"\\\\EXTRA\\395_q.logistik.extra",DruckerInfos,DruckerInfos,DM_IN_BUFFER | DM_OUT_BUFFER); if (wert != IDOK) { /* if failure, cleanup and return failure */ free(DruckerInfos); return ; } ClosePrinter(hPrinter); // if(!(ghdc=CreateDC("HP LaserJet 5L","HP LaserJet 5L","LPT1:",DruckerInfos))) if(!(ghdc=CreateDC("HP LaserJet 2100 Series PCL 6","\\\\EXTRA\\395_q.logistik.extra","\\\\EXTRA\\395_q.logistik.extra",DruckerInfos))) { MessageBox("Fail"); free(DruckerInfos); return ; } di.cbSize = sizeof(DOCINFO); di.lpszDocName = "Palettendruck"; di.lpszOutput = NULL; StartDoc (ghdc, &di); m_strWeNr.Insert(0,"WE "); for(len=0; len<atoi(m_strAnzahl); len++) // Druckanzahl { SaveDC(ghdc); StartPage (ghdc); lf.lfHeight=2100; hFont=CreateFontIndirect(&lf); SelectObject (ghdc, hFont); TextOut(ghdc,1,200,m_strArtnr,m_strArtnr.GetLength()); lf.lfHeight=600; hFont=CreateFontIndirect(&lf); SelectObject (ghdc, hFont); TextOut(ghdc,4200,3500,m_strDatum,m_strDatum.GetLength()); TextOut(ghdc,10,3500,m_strWeNr,m_strWeNr.GetLength()); EndPage (ghdc); RestoreDC(ghdc,-1); } EndDoc(ghdc); DeleteDC (ghdc); ///// !!!!!!!!!!!!!!!! free(DruckerInfos); //////////////////////////////////////////////////////////////////// LANDSCPAE ist soweit ich noch weiss die Einstellung um quer zu drucken...in der MSDN sind alle relevanten Methoden beschrieben....musst halt gucken :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.