JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Drucken ohne MFC

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
peterbub
JLI'ler



Anmeldedatum: 24.07.2005
Beiträge: 109

Medaillen: Keine

BeitragVerfasst am: 15.12.2006, 12:56    Titel: Drucken ohne MFC Antworten mit Zitat

Hallo !

Wie kann ich ohne MFC ein Bild ausdrucken ?

Ich stehe da noch völlig am Anfang Sad

ich möchte was ich im HDC zeichne, einfach ausdrucken.

In der MSDN hilfe, hab ich gelesen , dass ich

Code:

HDC CreateDC(
  LPCTSTR lpszDriver,        // driver name
  LPCTSTR lpszDevice,        // device name
  LPCTSTR lpszOutput,        // not used; should be NULL
  CONST DEVMODE* lpInitData  // optional printer data
);


benutzten soll also:

Code:


HDC hDC = CreateDC("WINSPOOL", ???, NULL, NULL); ;



Bei den ??? soll ich den Drucker angeben aber wie bekomme ich den?

Oder hat jemand eine andere Möglichkeit wie ich drucken kann

danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 15.12.2006, 13:43    Titel: Antworten mit Zitat

Du könntest ja hier das Tutorial mal befolgen, dort wird zwar mit einem Dialog gearbeitet (Standard Windows Druckdialog) aber bestimmt kannst du wenn du durchdebuggs schauen ob du deine nötige Information findest:

http://www.catch22.net/tuts/printing.asp
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Reboot
Mini JLI'ler



Anmeldedatum: 24.01.2007
Beiträge: 23

Medaillen: Keine

BeitragVerfasst am: 25.01.2007, 13:53    Titel: Antworten mit Zitat

Probiers mal mit ShellExecute.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 25.01.2007, 16:11    Titel: Antworten mit Zitat

Was soll den ausgeführt werden mit ShellExecute?

Also, im Petzold, der für jedne ernsthaften Windowsprogrammierer ein Super buch ist, stand da was zu, irgendwie mit GDI und HDC und sowas.
Du musst irgendwie den Druckjob starten, dann mit GDI das Papier gbemalen, und dann zum drucker schicken lassen. Natürlich kann man mit GDI auch Bitmaps zeichnen, d.h. du kannst alles beliebige in Pixel umwandeln (also ein Bitmap) und drucken.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Reboot
Mini JLI'ler



Anmeldedatum: 24.01.2007
Beiträge: 23

Medaillen: Keine

BeitragVerfasst am: 27.01.2007, 17:03    Titel: Antworten mit Zitat

Soweit ich weiß, kann man mit ShellExecute auch Textdateien ausdrucken. Ich bin mir aber nicht sicher. Guck doch einfach mal im MSDN.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 27.01.2007, 18:31    Titel: Antworten mit Zitat

Naja, mit ShellExecute kann man ne Menge machen/ausführen Wink
Man kann z.B. auch inf-Dateien installieren, wieso soll es dann nicht möglich sein, damit den Drucker anzusprechen?

PS: 2 sek google
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 27.01.2007, 18:52    Titel: Antworten mit Zitat

Weil man mit shellExecute jedes beleibige Programm starten kann, kann man damit alles mchen. Man kann ein Programm schreiben, das eine Textdatei ausruck, und dem dann die Datei als Parameter übergeben, oder ein Programm, das die Datei auf einen Webspace hochlädt, oder ein Programm, das wärend der Druckzeit ein Pong spiel startet, oder was weiß ich was.
Wenn man so ein Programm aber net hat, muss mans halt selber machen.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 28.01.2007, 00:06    Titel: Antworten mit Zitat

Jonathan_Klein hat Folgendes geschrieben:
Wenn man so ein Programm aber net hat, muss mans halt selber machen.

Klar, so ähnlich hab ich mal eine Art Programmiermotto formuliert: If you don't have the software make it on your own... Smile

Wenn man sich die Mühe macht, google anzuschmeißen, dann sieht man gleich beim ersten Link, dass man offensichtlich statt "open" nur "print" übergeben muss. (Ich weiß zwar nicht, ob man sonst noch was beachten muss, aber zumindest sollte es so funktionieren)
Man braucht hier nicht mal irgendein Programm, das das Ausdrucken übernimmt. Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 28.01.2007, 00:19    Titel: Antworten mit Zitat

The Lord of Programming hat Folgendes geschrieben:

Man braucht hier nicht mal irgendein Programm, das das Ausdrucken übernimmt. Wink

k, sry, hab ShellExecute immer nur zum starten von Programmen benutzt, daher wusste ich das nicht^^.

@Peterbub: Wie weit biste jtzt gekommen?
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 28.01.2007, 00:20    Titel: Antworten mit Zitat

neben allen diesen Vorschlägen gibt es, sofern du nur "einfache" Sachen drucken willst, auch die ziemlich triviale Methode über streams:
CPP:
std::ofstream printer( "lpt1:" ); // hier dann die entsprechende Druckerstelle einsetzen, sollte die nicht lpt1 sein

if( printer )
{
     // nun irgendwas über printer drucken, z.B. einen Text
     printer << "Dieser Text wird gedruckt";

     // ein Seitenvorschub könnte man bspw. so erreichen
     printer << '\f' << flush; // \f als Steuerzeichen für form feed
}


Wenn man gut mit Streams arbeiten kann, und die einen oder anderen Tricks kennt, kann man darüber auch ziemlich simpel und effizient auch Graphiken o.Ä. drucken. Das ist von der Materie aber auch sehr schwer, und man kann den ganzen Treiber-Schnick-Schnack und die direkten Funktionen der WinAPI nicht oder nur sehr umständlich verwenden. Außerdem ist es für ernste Programme etwas aufwändiger, da diese erst die konkrete Schnittstelle finden müssen. Heute gibts z.B. auch viele Drucker, die über USB statt lpt1 laufen...

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum