myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   [MS Visual C++] Drucken des Inhaltes eines Panels [SOLVED] (https://mygully.com/showthread.php?t=2237584)

Hellsing 21.02.11 10:13

[MS Visual C++] Drucken des Inhaltes eines Panels [SOLVED]
 
Hallo Leute.

Ich habe ein Problem vor dem ich stehe. Ich habe die Aufgabe, die verschienenen Objekte aus einem Panel heraus zu drucken. Das heißt, man nehme z.B. folgendes Beispiel:

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Bei einem Klick auf den "Drucken" Knopf soll alles, was in dem gestrichelten Bereich ist, gedruckt werden.


Ich bitte um Hilfe, google hab ich schon befragt und befrage ich auch noch weiter, bis vllt hier eine gute Antwort kommt ;)

Hellsing

Hellsing 28.02.11 09:02

Okay, ich habe es geloest. Fuer Leute die das selbe Problem eventuell haben, hier ist meine Loesung:

Code:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
                {
                        panel1->AutoScroll = false;
                        panel1->AutoSize = true;

                        Bitmap^ myBitmap = gcnew Bitmap(panel1->Width, panel1->Height);
                        Rectangle myRectangle = Rectangle(0, 0, panel1->Size.Width, panel1->Size.Height);
                        panel1->DrawToBitmap(myBitmap, myRectangle);
                        myBitmap->Save("C:\\test.bmp", System::Drawing::Imaging::ImageFormat::Bmp);

                        panel1->AutoSize = false;
                        panel1->AutoScroll = true;

                        //printDocument1
                        if (printDialog1->ShowDialog() == Windows::Forms::DialogResult::OK)
                        {
                                printDocument1->Print();
                        }
                }
private: System::Void printDocument1_PrintPage(System::Object^  sender, System::Drawing::Printing::PrintPageEventArgs^  e)
                {
                        e->Graphics->DrawImage(Image::FromFile("c:\\test.bmp"), 0, 0);
                }

Beschreibung:

Speichert alles aus dem Panel in ein Bitmap (test.bmp) und druckt dieses aus. Der Code hat keine Kommentierung, also falls Fragen bestehen, einfach hier antworten im Thema.

MfG

don-corleone 28.02.11 13:14

Ich habe mal eine frage, bin auch seit kurzem dabei Programmieren zu lernen (c++).
Was du da codest ist das eine Windowsanwendung oder eine Konsolanwendung ?? :)

Hellsing 28.02.11 14:05

Das ist eine Windows Forms Anwendung zum Testen von Funktionen, da ich neue Sachen, mit denen ich noch nicht so vertraut bin, lieber vom fertigen Programm trenne und in einem extra Projekt teste.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.