TImage Drop aus anderen Anwendung
- 
					
					
					
					
 Hallo... Wie kann ich ein Bild zb. aus dem Explorer auf ein TImage in meinem Form ziehen so das es dort angezeigt wird? C++ XE7 Vielen Dank, 
 Markus
 
- 
					
					
					
					
 Hallo, mit dem Windows Explorer werden immer nur Dateinamen übertragen. 
 Dazu muß man auf die Windows Message WM_DROPFILES horchen:// in der Main-Form Klasse (Headerdatei) protected: void __fastcall WMDropFiles(TMessage &message); BEGIN_MESSAGE_MAP VCL_MESSAGE_HANDLER(WM_DROPFILES, TMessage, WMDropFiles) END_MESSAGE_MAP(TForm)// in der Main-Form Sourcedatei void __fastcall TDropFilesForm::WMDropFiles(TMessage &message) { static char cFilename[MAXPATH]; HANDLE hDrop = (HANDLE)message.WParam; unsigned int nCount = DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 0); for(unsigned int i=0; i<nCount; i++) { DragQueryFile(hDrop, i, cFilename, MAXPATH); // do something with cFilename } DragFinish(hDrop); }Edit: im Konstruktor der Form noch folgendes einfügen DragAcceptFiles(Handle, TRUE);
 
- 
					
					
					
					
 Danke.. funktioniert leider nicht, da Imag1 kein Handle hat. Gruss, Markus 
 
- 
					
					
					
					
 Es wird dir doch der Dateiname übergeben. Das Bild kann du doch dann mit Image1->Picture->LoadFromFile(cFilename);anzeigen lassen. 
 
- 
					
					
					
					
 Haloo ja sowit klar nur folgendes geht nicht da es kein Handle hat. DragAcceptFiles(Image1->Handle, TRUE); 
 DragAcceptFiles(Image2->handle, TRUE);lg, markus 
 
- 
					
					
					
					
 DragAcceptFiles(...) will Handle vom Haupt- Form!!! 
 
- 
					
					
					
					
 Hallo habe es jetzt so gelöst das DragAcceptFiles(Form1->Handle, true);und bei den Image1 - Image10 
 ein "OnMouseEnter" Event ausglöst wird. So bekomme ich das Bild dann auch ins
 richtige TImage.Vielen Dank, 
 Markus
 
 
			
			
		