<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich möchte eine Datei oder auch mehrere) von außerhalb der Anwendung per Drag &amp; Drop auf einen Button in meine Anwendung dropen können. Ich weis leider nicht wie Ich es realisieren soll? Kann mir da einer ein Beispiel posten? Wäre super nett :-).</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/174512/wie-kann-man-dateien-per-drag-amp-drop-auf-einen-button-ablegen-und-auswerten</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 16:27:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/174512.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Feb 2007 08:36:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Wed, 28 Feb 2007 08:36:07 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich möchte eine Datei oder auch mehrere) von außerhalb der Anwendung per Drag &amp; Drop auf einen Button in meine Anwendung dropen können. Ich weis leider nicht wie Ich es realisieren soll? Kann mir da einer ein Beispiel posten? Wäre super nett :-).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1236601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1236601</guid><dc:creator><![CDATA[nostre]]></dc:creator><pubDate>Wed, 28 Feb 2007 08:36:07 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Wed, 28 Feb 2007 09:17:28 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p><a href="http://www.bytesandmore.de/rad/cpp/snipp/sc03026.php" rel="nofollow">http://www.bytesandmore.de/rad/cpp/snipp/sc03026.php</a></p>
<p>mfg, Micha!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1236616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1236616</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 28 Feb 2007 09:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Wed, 28 Feb 2007 09:25:41 GMT]]></title><description><![CDATA[<p>Das Beispiel kenne ich^^, das Problem ist das die Aktion erst passieren soll wenn die Datei auf den Button gedropt wird.</p>
<p>die Anwendung hat mehrere Buttons die unterschiedliche Kategorien haben:</p>
<p>button1 button2 button3<br />
[schriften] [eps] [bilder]</p>
<p>das Beispiel von dem link nimmt jede Datei an die in die Anwendung gedropt wird, damit kann ich die Selektion in den verschiedenen Kategorien nicht machen, es soll ja auch nur passieren wenn es auf einen von den 3 knöpfen gedropt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1236621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1236621</guid><dc:creator><![CDATA[nostre]]></dc:creator><pubDate>Wed, 28 Feb 2007 09:25:41 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Wed, 28 Feb 2007 10:02:44 GMT]]></title><description><![CDATA[<p>am liebsten wäre es mir wenn der drop diese Button Funktion ausführen würde, in dem ich dann den Dateiname zur verfügung hätte:</p>
<pre><code>void __fastcall TForm1::Button1DragDrop(TObject *Sender, TObject *Source,
      int X, int Y)
{
 // wie kann ich den dateinamen ermitteln ? der gedropt wurde ?

}
</code></pre>
<p>wie kann man in dieser Funktion erstmal das annehmen der Dateien erlauben?</p>
<pre><code>void __fastcall TForm1::Button1DragOver(TObject *Sender, TObject *Source,
      int X, int Y, TDragState State, bool &amp;Accept)
{
 Accept=true;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1236630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1236630</guid><dc:creator><![CDATA[nostre]]></dc:creator><pubDate>Wed, 28 Feb 2007 10:02:44 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Thu, 01 Mar 2007 12:58:23 GMT]]></title><description><![CDATA[<p>Wenn du Dateien auf deine Anwendung droppen willst, kommst du nicht ohne die WMDrop-Message aus.<br />
Du müßtest dadrin dann überprüfen, ob der Mauscursor gerade über einem deiner Buttons ist und sonst das Droppen ignorieren.<br />
Mittels Mouse-&gt;CursorPos kommst du an die aktuelle Mausposition (absolute Screenkoordinaten). Nun einfach die (absoluten) Button-Koordinaten damit verglichen, d.h. du schreibst dir am besten eine Funktion IsPointInRect(..).</p>
<p>P.S. Die Events OnDragDrop etc. funktionieren nur innerhalb der Anwendung, nicht bei Interaktion mit anderen Programmen (z.B. Explorer).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237421</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Thu, 01 Mar 2007 12:58:23 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Thu, 01 Mar 2007 13:17:45 GMT]]></title><description><![CDATA[<p>eine super idee, nur ich weiss nicht wie ich es programmieren soll? und was passiert wenn die die göße des fensters verändern wird, klappt das dann auch noch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237441</guid><dc:creator><![CDATA[nostre]]></dc:creator><pubDate>Thu, 01 Mar 2007 13:17:45 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Thu, 01 Mar 2007 13:34:45 GMT]]></title><description><![CDATA[<p>wie ich an die maus posi komme weiss ich jetzt:</p>
<pre><code>void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
 Edit16-&gt;Text=&quot;maus x: &quot;+IntToStr(Mouse-&gt;CursorPos.x)+&quot; y:&quot;+IntToStr(Mouse-&gt;CursorPos.y);
}
</code></pre>
<p>nur wie komme ich an die (absoluten) button-koordinaten ran ? muss ich da was umrechnen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237456</guid><dc:creator><![CDATA[nostre]]></dc:creator><pubDate>Thu, 01 Mar 2007 13:34:45 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Thu, 01 Mar 2007 14:24:18 GMT]]></title><description><![CDATA[<p>Da gibt es doch eine Funktion namens ControlAtPos in TWinControl (also auch TForm).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237509</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 01 Mar 2007 14:24:18 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Thu, 01 Mar 2007 15:05:00 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Da gibt es doch eine Funktion namens ControlAtPos in TWinControl (also auch TForm).</p>
</blockquote>
<pre><code>TPoint posi;
 Button1-&gt;ControlAtPos(posi,true,true);

 Edit16-&gt;Text=&quot;knopf x: &quot;+IntToStr(posi.x)+&quot; y: &quot;+IntToStr(posi.y)+&quot; | maus x: &quot;+IntToStr(Mouse-&gt;CursorPos.x)+&quot; y:&quot;+IntToStr(Mouse-&gt;CursorPos.y);
</code></pre>
<p>danke für den tip nur wie rechne ich es um?</p>
<p><a href="http://www.budbrain.de/koords.jpg" rel="nofollow">http://www.budbrain.de/koords.jpg</a></p>
<p>auf dem screenshoot bin ich ganz links oben in der buttonecke die maus wurde beim capture nicht erfasst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237556</guid><dc:creator><![CDATA[nostre]]></dc:creator><pubDate>Thu, 01 Mar 2007 15:05:00 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Thu, 01 Mar 2007 15:53:50 GMT]]></title><description><![CDATA[<p>Schau noch mal in die Hilfe zu ControlAtPos. Die Funktion gibt dir einen Pointer auf das Control an der angegebenen Position (oder 0) zurück. Man kann das etwa so verwenden.</p>
<pre><code class="language-cpp">TPoint point = Mouse-&gt;CursorPos; //Cursorposition in globalen Koordinaten holen
point = Form1-&gt;ScreenToClient(point); //Umrechnen globale auf Form-lokale Koordinaten
TControl* control = Form1-&gt;ControlAtPos(point, true, true); //Ist an der Position ein Control
if( control ) // Ja, da ist ein Control, nur welches?
{
   TButton* button = dynamic_cast&lt;TButton*&gt;(control);
   if( button ) // Es ist also ein Button
   {
// Nun hast du einen Button gefunden und kannst etwas damit machen
   }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1237586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237586</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 01 Mar 2007 15:53:50 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Fri, 02 Mar 2007 08:24:47 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Schau noch mal in die Hilfe zu ControlAtPos. Die Funktion gibt dir einen Pointer auf das Control an der angegebenen Position (oder 0) zurück. Man kann das etwa so verwenden.</p>
<pre><code class="language-cpp">TPoint point = Mouse-&gt;CursorPos; //Cursorposition in globalen Koordinaten holen
point = Form1-&gt;ScreenToClient(point); //Umrechnen globale auf Form-lokale Koordinaten
TControl* control = Form1-&gt;ControlAtPos(point, true, true); //Ist an der Position ein Control
if( control ) // Ja, da ist ein Control, nur welches?
{
   TButton* button = dynamic_cast&lt;TButton*&gt;(control);
   if( button ) // Es ist also ein Button
   {
// Nun hast du einen Button gefunden und kannst etwas damit machen
   }
}
</code></pre>
</blockquote>
<p>Super das ist es fast :-), nur ich hab 5 knöpfe ich muss da unterscheiden können auf welchen er jetzt grad was draufgeschoben hat, auf einen Knopf werden nur Schriften gezogen, auf den anderen nur Grafiken usw..</p>
<p>if( button11 )<br />
{<br />
}</p>
<p>if( button12 )<br />
{<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237866</guid><dc:creator><![CDATA[nostre]]></dc:creator><pubDate>Fri, 02 Mar 2007 08:24:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Fri, 02 Mar 2007 08:24:04 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Benutzt die Eigenschaft TButton::Tag, um die Buttons eindeutig zu markieren und auseinanderzuhalten.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237867</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 02 Mar 2007 08:24:04 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Fri, 02 Mar 2007 10:34:36 GMT]]></title><description><![CDATA[<p>akari schrieb:</p>
<blockquote>
<p>Hallo</p>
<p>Benutzt die Eigenschaft TButton::Tag, um die Buttons eindeutig zu markieren und auseinanderzuhalten.</p>
<p>bis bald<br />
akari</p>
</blockquote>
<pre><code>void __fastcall TForm1::WmDropFiles(TWMDropFiles&amp; Message)
{
 AnsiString Datei,vDatei,zDatei,zieldatei;
 int flag;
 char buff[MAX_PATH];
 HDROP hDrop = (HDROP)Message.Drop;

 TPoint point = Mouse-&gt;CursorPos; //Cursorposition in globalen Koordinaten holen
 point = Form1-&gt;ScreenToClient(point); //Umrechnen globale auf Form-lokale Koordinaten
 TControl* control = Form1-&gt;ControlAtPos(point, true, true); //Ist an der Position ein Control
 if( control ) // Ja, da ist ein Control, nur welches?
 {
  TButton* button = dynamic_cast&lt;TButton*&gt;(control);
  if( button ) // Es ist also ein Button
  {

   // knopf
   if(button-&gt;Tag==1)
   {
    int numFiles = DragQueryFile(hDrop,-1, NULL, NULL);
    for (int i=0;i&lt;numFiles;i++)
    {
     DragQueryFile(hDrop, i, buff, sizeof(buff));

     Datei=StrPas(buff);
     vDatei=Datei.LowerCase();

     zDatei=ExtractFileName(Datei);
     zieldatei=&quot;c:\\&quot;+zDatei;
     flag=0;

     // .lnk ablehnen
     if(vDatei.Pos(&quot;.lnk&quot;)!=0)
      flag=1;

     if(flag==0)
     {
      ShowMessage(&quot;Datei: &quot;+StrPas(buff));
      //::CopyFile(Datei.c_str(), zieldatei.c_str(),FALSE);
     }
    }
   }

  }
 }
 DragFinish(hDrop);
}
</code></pre>
<p>vielen dank jetzt komme ich zum ziel! ihr habt mir sehr geholfen danke @all! super forum!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237868</guid><dc:creator><![CDATA[nostre]]></dc:creator><pubDate>Fri, 02 Mar 2007 10:34:36 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Wed, 29 Aug 2007 13:59:56 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>zu diesem Thema hätte ich auch mal eine Frage:</p>
<p>Warum löst das Event mit einer TListView nicht aus?</p>
<p>Ich habe es schon mit einer TListBox versucht, damit funktioniert es auch einwandfrei.<br />
Aber da ich auf die Funktion, Icons vor die Einträge zu platzieren, angewiesen bin, und eine TListBox meines Wissens eine solche Funktion nicht beinhaltet, muss ich eine TListView verwenden.</p>
<pre><code class="language-cpp">void __fastcall TfrmMain::WMDropFiles(TWMDropFiles &amp;Message)
{
     AnsiString sFile;
     char chBuff[MAX_PATH];
     HDROP hDrop = (HDROP)Message.Drop;

     int iFileCount = DragQueryFile(hDrop,-1, NULL, NULL);

     for( int i = 0; i &lt; iFileCount; i++ ){
         DragQueryFile(hDrop, i, chBuff, sizeof(chBuff));

         sFile = StrPas(chBuff).LowerCase();

         if( ( sFile.Pos(&quot;.zip&quot;) != 0 ) &amp;&amp;
             ( iFileCount == 1 ) &amp;&amp;
             ( sPath_e.IsEmpty() ) )
         {
            dlgOpen-&gt;FileName = sFile;
            open();
            return;
         }

         dlgAdd-&gt;FileName = sFile;
         add();

         DragFinish(hDrop);
     }
}
</code></pre>
<pre><code class="language-cpp">void __fastcall TfrmMain::FormCreate(TObject *Sender)
{
    DragAcceptFiles(lvwFiles-&gt;Handle, true);    
}
</code></pre>
<p>Ich hoffe es kann mir einer helfen.</p>
<p>Gruß FightingWolf</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354621</guid><dc:creator><![CDATA[FightingWolf]]></dc:creator><pubDate>Wed, 29 Aug 2007 13:59:56 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Dateien per Drag &amp;amp; Drop auf einen Button ablegen und auswerten on Wed, 29 Aug 2007 15:13:12 GMT]]></title><description><![CDATA[<p>Augen auf! Wurde gerade erst besprochen: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-189881.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-189881.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354685</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Wed, 29 Aug 2007 15:13:12 GMT</pubDate></item></channel></rss>