-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
19. Mär 2008
So, habe das jetzt bei mir eingebaut und habe nur noch ein Problem:
Wie schicke ich ihm ne zweite Seite?
Ich habe das so versucht:
myGraphic := TBitmap.Create;
myCanvasF := TCanvas.Create;
myCanvasB := TCanvas.Create;
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
17. Mär 2008
Also bis auf das die Druckereinstellungen nicht stimmen wurde zumindest das Bild draufgedruckt!!!! Ich werde das morgen weiter unter die Lupe, wie man das optimieren kann.
Kann ich denn noch die richtigen Druckereinstellungen setzen?
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
17. Mär 2008
Und wie kann man das beheben? Ich wüßte jetzt nicht, dass ich im System bin...
Zur kleinen Info:
Wenn ich einen TextOut() ausführe, dann wird dieser gedruckt. Das was mir aber wichtig ist, ist eine Bilddatei an den Drucker zu schicken.
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
17. Mär 2008
Ich besitze keinen Canvas.
Hier der Verlauf:
1. Ich rufe eine andere Applikation auf, diese Applikation erstellt mit CreateDC ein Handle. Dieses Handle bekomme ich von dieser Applikation zurück.
2. Zurück bei mir muß ich diesem Handle meine Druckdaten mitteilen.
3. Ich sage der anderen Applikation, dass Sie den Druckauftrag abschließen und ausführen kann.
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
17. Mär 2008
Das mag sein.
Folgend seht ihr meinen letzten Code, der zwar dem Drucker sagt: ok, drucken,aber es wird nichts gedruckt.
...
myGraphic := TBitmap.Create;
if FileExists(ExtractFilePath(Application.ExeName) + '!NewCard.bmp') then
myGraphic.LoadFromFile(ExtractFilePath(Application.ExeName) + '!NewCard.bmp');
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
17. Mär 2008
Das hilft auch nicht!
Habe die DestX & DestY auf 0 gesetzt und wird immer noch nicht gedruckt...
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
14. Mär 2008
Ich bitte euch um Hilfe!!! Ich möchte ja begreifen, warum er das nicht macht.
:cry:
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
14. Mär 2008
Im anschließenden Code startest du den druckjob, setzt die Größen des Druckers, rufst die funktion zum schreiben der bitmap und beendest den druckjob.
Ich hab doch hier keine optimierung betrieben. Und das schrieben der Bitmap habe ich aus der vorherigen Routine umgesetzt.
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
14. Mär 2008
Hab das jetzt folgendermaßen gemacht:
myGraphic := TBitmap.Create;
myGraphic.LoadFromFile(ExtractFilePath(Application.ExeName) + '!NewCard.bmp');
X := GetDeviceCaps(PrntHandle,PHYSICALOFFSETX);
Y := GetDeviceCaps(PrntHandle,PHYSICALOFFSETY);
GetDIBSizes(myGraphic.Handle, HeaderSize, ImageSize);
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
14. Mär 2008
Laut deinem Post übergibst du an die Routine ein Canvas. Welches Canvas? Ich besitze lediglich das Handle für den Drucker bzw. Druckauftrag.
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
14. Mär 2008
Ok,soweit verstanden. Dann hole ich mir ein Handle auf den DeviceContext so:
var myHDC : HDC;
myHDC := GetDC(PrntHandle);
und wie gehts weiter? Das ist hier mein Problem. Entweder stehe ich hier auf der Leitung, oder ich weiß es nicht... :wall:
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
13. Mär 2008
Wie mache ich das im Klartext? Die GetDC-Routine liefert mir doch ein Handle zurück.
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
13. Mär 2008
Stimmt, jetzt müßte das sichtbar ssein. wahrsheinlich war das ein Anzeigefehler.
Kannst du mir denn bei meinem Problem weiterhelfen????
:cry:
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
13. Mär 2008
Wie meinst du das denn? mein Post ist gar nicht leer...da steht mein quellcode drin.
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
13. Mär 2008
Ich habe das jetzt folgendermaßen gemacht, aber irgendwie will er nicht wirklich:
myCanvas := TCanvas.Create;
myGraphic := TBitmap.Create;
myGraphic.LoadFromFile(ExtractFilePath(Application.ExeName) + '!NewCard.bmp');
myCanvas.Handle := PrntHandle; // PrntHandle ist das Druckerhandle was ich habe.
X := GetDeviceCaps(PrntHandle,PHYSICALOFFSETX);
Y :=...
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
13. Mär 2008
Aber danach habe ich doch wieder ein Handle und ich brauche doch das Canvas von meinem Handle oder sehe ich das falsch?
Oder soll ich mir danach ein TCanvas erzeugen und diesem mein Handle zuweisen?
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
13. Mär 2008
Das ist schon alles klar. Mein Problem ist, dass über ein anderes Modul der BeginDoc aufgerufen wird. Somit gibt es ein Druckerhandle von meiner Application muß ich dann ann dieses Druckerhandle & dieses Dokument Daten an den Drucker schicken (in meinem Fall eine Bitmap). Anschließend wird über das Modul das EndDoc aufgerufen und somit der Auftrag abgeschlossen.
Ich habe also lediglich das...
-
Forum: Win32/Win64 API (native code)
Delphi
by Moony,
13. Mär 2008
Hallo zusammen!
Ich habe lediglich ein Druckerhandle und möchte an diesen Drucker eine Bitmap schicken. wie mache ich das am besten?
Danke & Gruß, Moony