AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Drag Drop-Datei zu bearbeitung durch reinziehen einzufügen
Thema durchsuchen
Ansicht
Themen-Optionen

Drag Drop-Datei zu bearbeitung durch reinziehen einzufügen

Ein Thema von Leo675 · begonnen am 18. Mär 2009 · letzter Beitrag vom 18. Mär 2009
Antwort Antwort
Leo675

Registriert seit: 13. Jan 2009
51 Beiträge
 
#1

Drag Drop-Datei zu bearbeitung durch reinziehen einzufügen

  Alt 18. Mär 2009, 13:46
Hallo alle zu sammen!
Ich hab da ein Problemchen, ich will jetzt das mein Programm, das die txt-fils bearbeitet, ncht nur das datei durch öffnen erkent sondern auch wenn ich das Datei auf's fenster reinschiebe.

So weit ich weis ist es ein DockDrop-Ereigniss, um den zu bekommen soll ein DockOver-Ereignis vorhanden sein, mind mit einer Zeile Code Accept := True; , und die DockSite soll auf True gesetzt werden. Alles das habe ich gemacht um mindestens beim Reinzien auf das Programm-Fenster der NichGestatt-Symbol weg zu kriegen. Wie macht man esa uberhaupt?
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Drag Drop-Datei zu bearbeitung durch reinziehen einzufüg

  Alt 18. Mär 2009, 14:32
Du musst das Formular für das Ereignis DropFiles vorbereiten:
Delphi-Quellcode:
uses ShellAPI;

// In der Formular Deklaration
  protected
    procedure WMDropFiles(var Message: TMessage); message WM_DropFiles;

// In TForm.FormCreate
    DragAcceptFiles(Handle, TRUE);

// In der eben definierten Procedure frägst Du die Dateien ab:
procedure TForm.WMDropFiles(var Message: TMessage);
var
  fBuffer : array[0..MAX_PATH] of Char;
  i, x : Integer;
  sl : TStringList;
begin
  // Buffer-Liste initialisieren und Anzahl Dateien ermitteln
  sl := TStringlist.Create;
  x := DragQueryFile(Message.WParam, $FFFFFFFF, NIL, 0);

  // Dateien in den Buffer einlesen und sortieren
  for i := 0 to x-1 do begin
    DragQueryFile(Message.WParam, i, @fBuffer, MAX_PATH);
    sl.Add(fBuffer);
  end;
  sl.Sort;

  // Sortierte Dateiliste abarbeiten
  for i := 0 to sl.Count-1 do begin

    {<--- hier code einfügen ---}

  end;

  // Bufferliste freigeben
  sl.Free;
end;
  Mit Zitat antworten Zitat
Leo675

Registriert seit: 13. Jan 2009
51 Beiträge
 
#3

Re: Drag Drop-Datei zu bearbeitung durch reinziehen einzufüg

  Alt 18. Mär 2009, 15:14
O.k. auf jeden Feil Danke! Ich verarbeite es und melde mich!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Drag Drop-Datei zu bearbeitung durch reinziehen einzufüg

  Alt 18. Mär 2009, 15:32
Benenne den Message Handler bitte procedure WMDropFiles(var Message: TMessage); message WM_DropFiles;, wie es laut Hilfe von CodeGear auch gefordert ist. Hintergrund: Dein Formular und der Handler könnte sonst nicht wieder definiert werden in einer C++ Ableitung.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Drag Drop-Datei zu bearbeitung durch reinziehen einzufüg

  Alt 18. Mär 2009, 16:05
Wer ist CodeGear?

Meine Hilfe ist noch von Borland, aber da steht es auch so drin. Hab' es geändert.
  Mit Zitat antworten Zitat
Leo675

Registriert seit: 13. Jan 2009
51 Beiträge
 
#6

Re: Drag Drop-Datei zu bearbeitung durch reinziehen einzufüg

  Alt 18. Mär 2009, 16:10
Kchm,Khm!

Es ist zwar komisch aber mein Delphi7(Borland) kennt DragAcceptFiles und DragQueryFile
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: Drag Drop-Datei zu bearbeitung durch reinziehen einzufüg

  Alt 18. Mär 2009, 16:23
Zitat von Leo675:
Es ist zwar komisch aber mein Delphi7(Borland) kennt DragAcceptFiles und DragQueryFile :(
Schön und was ist daran das Problem? Oder ist es ein Problem wenn alles klappt?

Unit Windows eingebunden?
  Mit Zitat antworten Zitat
Leo675

Registriert seit: 13. Jan 2009
51 Beiträge
 
#8

Re: Drag Drop-Datei zu bearbeitung durch reinziehen einzufüg

  Alt 18. Mär 2009, 16:31
Ja unit Windoes war schon immer drin, aber dann hab ich ShellAPI eingebunden und alles hats geklappt. Danke!
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Drag Drop-Datei zu bearbeitung durch reinziehen einzufüg

  Alt 18. Mär 2009, 16:34
Joa, ich schreib es auch oben mit dazu, dann stolpert der nächste nicht drüber...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz