+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Druckmodus in Erfahrung bringen


(Guest) #1

Hallo,

ich arbeite mit Visual Studio, C# und LL13. In meiner .NET-Windows-Anwendung möchte ich mehrere Drucke hintereinander ausgeben. Der Anwender soll über den Druckerdialog auswählen, ob er die Vorschau oder einen Druck haben will. Nun soll aber nicht für jeden Druck der Druckerdialog geöffnet werden, sondern vor dem ersten Druck einmal. Danach möchte ich den eingestellten Parameter (Vorschau oder Druck) abgreifen und für alle restlichen Drucke festlegen.

Dazu stelle ich LLPrintMode über ListLabel.Print auf LLPrintMode.Normal, so dass als Voreinstellung im Druckerdialog (Drucker) angezeigt wird. Wann oder was muss ich wo abrufen, damit ich in Erfahrung bringe, was der Anwender letztlich eingestellt hat.

Ich habe es mit LlPrintSetOptionString nach ListLabel.Print und im Ereignis DefinePrintOptions versucht, aber kein Erfolg gehabt.

Danke
sha


(Guest) #2

“Steffen Häselbarth” <steffen.haeselbarth@kid-magdebu…> schrieb im
Newsbeitrag news:33822930200894032@combit.net

Dazu stelle ich LLPrintMode über ListLabel.Print auf LLPrintMode.Normal,
so dass als Voreinstellung im Druckerdialog (Drucker) angezeigt wird. Wann
oder was muss ich wo abrufen, damit ich in Erfahrung bringe, was der
Anwender letztlich eingestellt hat.

Ohne es jetzt probiert zu haben wuerde ich zum DrawPage-Event greifen (in
dem Moment muss der Drucker ja schon feststehen) und da dann

LL.Core.LlPrintGetOptionString(LlPrintOptionString.Export)

abfragen. Da sollte dann je nach Auswahl “PRN”, “PRV”, “PDF” etc. drin
stehen. Das kannst Du dann auf der anderen Seite im DefinePrintOptionsEvent
wieder setzen um die Vorauswahl zu nutzen.

G.


(Guest) #3

Ja, ich hatte mir schon gedacht, dass ich ein vielleicht nicht dafür gedachtes Event missbrauchen muss. DrawPage hatte ich noch nicht probiert.

Man muss nur noch beachten, dass LL.Core.LlPrintGetOptionString(…) nicht immer abgefragt werden kann. Um keine Exception zu erhalten, prüft man noch DrawPageEventArgs.IsDesignerPreview und DrawPageEventArgs.IsBeforePaint auf false.

Danke
sha