Drag & Drop



  • Also ich habe mir im FAQ etwas über die Drag & Drop Technik angesehen und wie ich diese verwende. Jetzt stellt sich für mich aber eine Anwendungsfrage, da darauf nicht weiter angegangen wurde im FAQ Eintrag.

    Mit

    DragQueryFile();
    

    bekomme ich was heraus, einen Integer, aber was sagt dieser aus, also welche Informationen gewinne ich mit diesem Integer.

    Ich würde nämlich gerne den Pfad+ Dateinamen der gedroppten Datei herausfinden, um diese gegebenenfalls in mein TRichEdit Feld als Text einzulesen.
    Wie bewerkstellige ich das.



  • Hast du dir mal angesehen, was in buff steht? Laut MSDN ist da nämlich genau das drin, was du willst.



  • Also gibt buff den Pfad der gedroppten Datei an? Wenn das so wäre wie kann ich dann diesen Pfad als String benutzen in LoadFromFile?
    Ich habe nicht wirklich den Durchblick über den Code in dem Ereignis, vielleicht könnte mir jemand diesen Code erklären?

    void __fastcall TS_TXT_Edit::WmDropFiles(TWMDropFiles& Message)
    {
            char buff[MAX_PATH];
            HDROP hDrop = (HDROP)Message.Drop;
            int numFiles = DragQueryFile(hDrop,-1, NULL, NULL);
            for (int i=0;i<numFiles;i++)
            {
                    DragQueryFile(hDrop, i, buff, sizeof(buff));
            }
            DragFinish(hDrop);
    

    wäre echt nett!



  • Wie wärs denn so (nur ein Beispiel)?

    TStringList *list = new TStringList;
    list->LoadFromFile (buff);
    

    Was daran jetzt so schwer sein soll, ist mir ein Rätsel.



  • Ok danke für die Hilfe! Ich habe mir den Code nochmal angesehen und fleißig die Hilfe studiert und mein Denkfehler den ich hatte ist ausgemerzt, auf jedenfall Danke.


Anmelden zum Antworten