Benutzer mit den meisten Antworten
drag and drop mit pictureBox

Frage
-
Hallo,
ich würde gerne ein Bild (z.B. vom Desktop) per Drag&Drop auf eine PictureBox bringen.
Ich habe allerdings nur Beispiele zu TextBoxen gefunden, im Prinzip habe ein Problem mit der Anweisung:
this->pictureBox1->Image= **********;
Ich brauche einen Ausdruck mit dem ich auf die Datei des Drag&Drop zugreifen kann.
Ich habe es z.B. schon mit
dynamic_cast<Object^>(e->Data->GetData(DataFormats::FileDrop))^ToString();
Und auch noch jede Menge Kombinationsmöglichkeiten davon.
AllowDrop habe ich schon auf true gesetzt, das kann es also nicht sein.
Wäre schön wenn ihr eine Lösung hättet.
Gruß Hefeteig
- Verschoben Robert BreitenhoferModerator Freitag, 17. August 2012 15:27 Visual C++/CLI (aus:Visual C++)
Antworten
-
Hallo, ich bin zwar nicht der Experte in C++/CLI aber hier mein bescheidener funktionierneder Code:
private: System::Void button1_DragEnter(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e) { if(e->Data->GetDataPresent(DataFormats::FileDrop)) { e->Effect = DragDropEffects::Copy; } else { e->Effect = DragDropEffects::None; } } private: System::Void button1_DragDrop(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e) { array<String^>^ item = dynamic_cast<array<String^>^>(e->Data->GetData(DataFormats::FileDrop)); pictureBox1->Image = gcnew System::Drawing::Bitmap(item[0]); }
Ich Drag'n'Droppe die Datei auf einen Button und füge den Inhalt der Datei in di pictureBox1 ein.
Achtung! Wenn es sich um keine Bilddatei habndelt, weis ich nicht was passiert, weis aber auch nicht wie ich das überprüfen soll (In C# z.B. ein Try-Catch-Block).Noch was: du machst da C++/CLI nicht C++!
Koopakiller - http://koopakiller.ko.ohost.de/
- Als Antwort vorgeschlagen Tom Lambert (Koopakiller) Sonntag, 12. August 2012 19:52
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 17. August 2012 15:26
Alle Antworten
-
Hallo, ich bin zwar nicht der Experte in C++/CLI aber hier mein bescheidener funktionierneder Code:
private: System::Void button1_DragEnter(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e) { if(e->Data->GetDataPresent(DataFormats::FileDrop)) { e->Effect = DragDropEffects::Copy; } else { e->Effect = DragDropEffects::None; } } private: System::Void button1_DragDrop(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e) { array<String^>^ item = dynamic_cast<array<String^>^>(e->Data->GetData(DataFormats::FileDrop)); pictureBox1->Image = gcnew System::Drawing::Bitmap(item[0]); }
Ich Drag'n'Droppe die Datei auf einen Button und füge den Inhalt der Datei in di pictureBox1 ein.
Achtung! Wenn es sich um keine Bilddatei habndelt, weis ich nicht was passiert, weis aber auch nicht wie ich das überprüfen soll (In C# z.B. ein Try-Catch-Block).Noch was: du machst da C++/CLI nicht C++!
Koopakiller - http://koopakiller.ko.ohost.de/
- Als Antwort vorgeschlagen Tom Lambert (Koopakiller) Sonntag, 12. August 2012 19:52
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 17. August 2012 15:26
-
Vielen vielen Dank,
das war genau das, was ich noch gebraucht habe, das waren zwar nur zwei Zeilen, aber auf die wäre ich nie gekommen.
Danke Koopakiller
in Zukunft werde ich auch mehr aufpassen, welches Forum ich für eine Frage wähle.
Gruß Hefeteig