 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
peterbub JLI'ler
Anmeldedatum: 24.07.2005 Beiträge: 109
Medaillen: Keine
|
Verfasst am: 15.12.2006, 12:56 Titel: Drucken ohne MFC |
|
|
Hallo !
Wie kann ich ohne MFC ein Bild ausdrucken ?
Ich stehe da noch völlig am Anfang
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 |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 15.12.2006, 13:43 Titel: |
|
|
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 |
|
 |
Reboot Mini JLI'ler

Anmeldedatum: 24.01.2007 Beiträge: 23
Medaillen: Keine
|
Verfasst am: 25.01.2007, 13:53 Titel: |
|
|
Probiers mal mit ShellExecute. |
|
Nach oben |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 25.01.2007, 16:11 Titel: |
|
|
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 |
|
 |
Reboot Mini JLI'ler

Anmeldedatum: 24.01.2007 Beiträge: 23
Medaillen: Keine
|
Verfasst am: 27.01.2007, 17:03 Titel: |
|
|
Soweit ich weiß, kann man mit ShellExecute auch Textdateien ausdrucken. Ich bin mir aber nicht sicher. Guck doch einfach mal im MSDN. |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 27.01.2007, 18:31 Titel: |
|
|
Naja, mit ShellExecute kann man ne Menge machen/ausführen
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 |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 27.01.2007, 18:52 Titel: |
|
|
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 |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 28.01.2007, 00:06 Titel: |
|
|
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...
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.  _________________ 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 |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 28.01.2007, 00:19 Titel: |
|
|
The Lord of Programming hat Folgendes geschrieben: |
Man braucht hier nicht mal irgendein Programm, das das Ausdrucken übernimmt.  |
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 |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 28.01.2007, 00:20 Titel: |
|
|
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 |
|
 |
|
|
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
|