Drucken funzt nicht Hilfeeee!
-
Hallo !
Also ich habe das Problem das mein Drucker nix ausdruckt obwohl er eigentlich müsste.
hier der Quellcode :
#pragma once namespace Drucken { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; /// <summary> /// Zusammenfassung für Form1 /// /// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch /// die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern, /// das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt. /// Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen /// arbeiten, die diesem Formular zugewiesen sind. /// </summary> public ref class Form1 : public System::Windows::Forms::Form { public: Form1(void) { InitializeComponent(); // //TODO: Konstruktorcode hier hinzufügen. // } protected: /// <summary> /// Verwendete Ressourcen bereinigen. /// </summary> ~Form1() { if (components) { delete components; } } private: System::Windows::Forms::Button^ button1; protected: private: System::Windows::Forms::PrintDialog^ printDialog1; private: System::Drawing::Printing::PrintDocument^ printDocument1; private: /// <summary> /// Erforderliche Designervariable. /// </summary> System::ComponentModel::Container ^components; #pragma region Windows Form Designer generated code /// <summary> /// Erforderliche Methode für die Designerunterstützung. /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. /// </summary> void InitializeComponent(void) { this->button1 = (gcnew System::Windows::Forms::Button()); this->printDialog1 = (gcnew System::Windows::Forms::PrintDialog()); this->printDocument1 = (gcnew System::Drawing::Printing::PrintDocument()); this->SuspendLayout(); // // button1 // this->button1->Location = System::Drawing::Point(114, 186); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(75, 23); this->button1->TabIndex = 0; this->button1->Text = L"button1"; this->button1->UseVisualStyleBackColor = true; this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click); // // printDialog1 // this->printDialog1->UseEXDialog = true; // // Form1 // this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->ClientSize = System::Drawing::Size(284, 264); this->Controls->Add(this->button1); this->Name = L"Form1"; this->Text = L"Form1"; this->ResumeLayout(false); } #pragma endregion private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { // Nutzer kann sich die zum druckende Seiten aussuchen printDialog1->AllowSomePages = true; // Hilfe aufrufen möglich printDialog1->ShowHelp = true; printDialog1->Document = printDocument1; if(printDocument1 == nullptr) { System::Windows::Forms::MessageBox::Show("Null"); } if(printDialog1 == nullptr){ System::Windows::Forms::MessageBox::Show("PNull"); } System::Windows::Forms::DialogResult result = printDialog1->ShowDialog(); System::Windows::Forms::MessageBox::Show(result.ToString()); if(result == System::Windows::Forms::DialogResult::OK){ printDocument1->Print(); } } ///////////////////////////////////////////////////////////////////// void document_PrintPage( Object^ /*sender*/, System::Drawing::Printing::PrintPageEventArgs^ e ){ // Insert code to render the page here. // This code will be called when the control is drawn. // The following code will render a simple // message on the printed document. String^ text = "Drucke mir diesen Text du Saudrucker !!!"; System::Drawing::Font^ printFont = gcnew System::Drawing::Font( "Arial",35,System::Drawing::FontStyle::Regular ); // Draw the content. e->Graphics->DrawString( text, printFont, System::Drawing::Brushes::Black, e->MarginBounds ); e->HasMorePages = true; } /////////////////////////////////////////////////////////////// }; }
Fehlt da vielleicht doch irgendwas ???
-
genauer bitte, was heisst druckt nicht, kommt ne meldung oder stürtzt alles ob oder was?
-
denjo303 schrieb:
genauer bitte, was heisst druckt nicht, kommt ne meldung oder stürtzt alles ob oder was?
Ups vergessen
Mein drucker zieht nur ein Blatt durch und druckt nix darauf. Also er bekommt den Druckauftrag und der scheint nix zu enthalten so das er mir nur ein leeres Blatt durchzieht ohne den Text zu drucken. habe es auch schon bei nem anderen Drucker versucht. genau dasselbe. Als wenn er einen leeren Druckauftrag bekommt.
-
Fantoma555 schrieb:
// Draw the content. e->Graphics->DrawString( text, printFont, System::Drawing::Brushes::Black, e->MarginBounds );
Kann also vielleicht einfach ein Einheitenproblem sein.
MSDN schrieb:
PrintPageEventArgs.MarginBounds-Eigenschaft
Der rechteckige Bereich, der den Teil der Seite innerhalb der Ränder darstellt, in 1/100 Zoll.
e->Graphics erwartet Pixel oder Zoll und du lieferst 1/100 Zoll.
Deswegen ist dann dein String direkt am Seitenrand den viele Drucker nicht drucken können.Wichtig: Beid einem jetztigen Code hast du ein Memoryleak weil du printFont nicht disposed.
// Draw the content. e->Graphics->DrawString( text, printFont, System::Drawing::Brushes::Black, e->Graphics->VisibleClipBounds); //gleich in dem richtigen Format
-
ThX erstmal für die Antwort. Habe es so probiert wie du es geschrieben hast.
Leider kommt immernoch nur ein leeres Blatt raus. Bin leider auch noch noobi in Sachen Drucken.Habe auch schon versucht mit dem Quellcode von den Rohdaten von Video2Brain (Mit dem Video lerne ich im Moment + etlichen Büchern die ich habe da ich ja glücklicherweise in einer Bibliothek arbeite).
http://www.video2brain.com/de/products-257-3.htm
Rohdaten: Kapitel 11-13
Aber auch da kommt nur ein leeres Blatt.
Wenn noch jemand einen Vorschlag hat, Bitte posten .
Wenn ich eine Lösung habe schreibe ich diese auch hierrein
Vielen Dank
-
mal ne ganz blöde frage, kanns sein das deine patrone kaputt/verstopft ist. bei mir ist das auch grad so, gehen nur alle drei farben als schwarz und schwarz selber ist zu. Nur so ne gaz blöde frage...
-
denjo303 schrieb:
mal ne ganz blöde frage, kanns sein das deine patrone kaputt/verstopft ist. bei mir ist das auch grad so, gehen nur alle drei farben als schwarz und schwarz selber ist zu. Nur so ne gaz blöde frage...
Nö. Der Drucker funzt sonst einwandfrei.
Also wenn ich über andere Programme drucke. Der druckt nur nicht bei meinem Minidruckprogramm.
-
hätte ja sein können weil bei mir ists grad so
-
So nun habe ich den Fehler gefunden oder eigentlich war es ja @Rhombicosidodecahedron
ich habe den code so rauskopiert und es ging net
e->Graphics->DrawString( text, printFont, System::Drawing::Brushes::Black, e->Graphics->VisibleClipBounds);
Dieser Code geht :
e->Graphics->DrawString( text, printFont, System::Drawing::Brushes::Black, 100,100);
@Rhombicosidodecahedron
Danke für den Denkanstoss