![]() |
Drag'n'Drop für ein Dialogfenster
Guten Morgen liebe DP Gemeinde,
ich suche und probiere an dem Drag'n'Drop herum, um Dateien vom Windows-Explorer in meine Anwendung zu ziehen. Dazu verwende ich aus der Code-Library folgenden Tipp: ![]() Es funktioniert wunderbar. Aber wenn ich diesen Tipp in einem Dialog-Fenster des Hauptformulars verwende, dann kommt nur der MausCursor mit dem Bildchen "geht nichts zum Dropen" ins Bild. Daraufhin habe ich verschiedenes ausprobiert: In
Delphi-Quellcode:
habe ich für ListBox1.Handle alle möglichen Handles
procedure TDialog1.FormCreate(Sender: TObject);
begin DragAcceptFiles(ListBox1.Handle, True); end; ausprobiert: Application.Handle, Application.DialogHandle, Handle, HInstance. Auch habe ich die Deklaration
Delphi-Quellcode:
unter public gesetzt.
private
procedure WMDROPFILES(var Msg: TMessage); Message WM_DROPFILES; Immer blieb der Maus-Cursor auf "No-Drop". Nun meine Frage, ist es überhaupt möglich in einem Dialogfenster das DragnDrop zu verwenden, und wenn ja, welches Handle muß ich verwenden? PS: Das Problem, daß ein TImage kein Handle hat und auf einem TPanel ein zuordbares Handle erreicht ist mir bekannt. Schönen Dank an alle Interessierten, und schöne Grüße aus Nürnberg von Manfred. |
AW: Drag'n'Drop für ein Dialogfenster
Was meinst Du mit <Dialog-Fenster des Hauptformulars> ?
Vllt liegt's daran, dass der DragMode des Dialogs nicht auf dmManual gesetzt ist. |
AW: Drag'n'Drop für ein Dialogfenster
mhhhh... kann ich nicht nachvollziehen, geht bei mir problemlos.
|
AW: Drag'n'Drop für ein Dialogfenster
Zitat:
und auf Visible:=False gesetzt wurde. Durch Aufruf ShowModal bringe ich es auf den Schirm, in der offenen Zeit dieses Dialog-Fensters ist keine Aktion auf dem Haupt-Fenster möglich. Mit ModalResult verlasse ich das Dialog-Fenster wieder (schließen). Den DragMode habe ich mit dmManual und dmAutomatic ausprobiert. Ich fürchte, der Fehler liegt daran, daß ich beim DragAcceptFiles(ListBox1.Handle, True); irgendwie nicht das richtige Handle (ListBox1.Handle) erwische. Auf dem Haupt-Fenster gibt es keine ListBox1, nur auf dem Dialog-Fenster. Wie meistens ist es bestimmt nur eine Kleinigkeit, mit riesigen Auswirkungen :) Danke für Deine Hilfe |
AW: Drag'n'Drop für ein Dialogfenster
Zitat:
das auch immer auf einem Haupt-Formular Fenster, aber nicht im Dialog- fenster (Dialog-Box), dann habe ich nur irgendwas übersehen. Werde in Ruhe weiterprobieren. Antwort kommt, wenn ich's gefunden habe. Sollte mein Fehler auch noch so dumm sein - egal. Schöne Grüße aus Nürnberg, Manfred |
AW: Drag'n'Drop für ein Dialogfenster
Starte Dein Programm mal nicht von der IDE aus, sondern direkt die exe.
Mein Delphi5 spinnt da auch manchmal etwas 'rum, wenn die IDE im Hintergrund läuft. GG |
AW: Drag'n'Drop für ein Dialogfenster
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Ich habe jetzt nur ein Projekt zum Testen dafür gemacht. Komischerweise funktioniert es dort. Ich habe das mal angehängt zum Ausprobieren. Im Anhang: PDragNDrop-Test_2012_03_06.rar 213.463 Bytes Schöne Grüße, Manfred |
AW: Drag'n'Drop für ein Dialogfenster
Bin es noch einmal!
Guten Morgen liebe DP-Gemeinde, Also, ich muß zu meiner Schande gestehen, daß ich den Fehler noch nicht gefunden habe, warum das Drag'n'Drop in meinem Beispiel Programm funktioniert, nicht aber in meinem eigentlichen Programm. Habe alles über copy/paste vom funktionierenden Beispiel in mein Programm direkt übertragen. Dann habe ich im OI (Objekt-Inspektor) auf beide TForms fokussiert und die Werte dort verglichen. Außer den unterschiedlichen Namen - für mein Programm und dem funktionierenden Beispiel - und den Abmessungen bzw. Left,Top Werten sind alle Einstellungen identisch. Danach sah ich mir die beiden Quelltext (.dpr) Dateien der beiden Projekte an, sowie im IDE Projekt-Menu Optionen, was, wo und wie beim Compilieren verwendet/erzeugt wird. Keine Unterschiede. Langer Rede kurzer Sinn. Ich werde mir dieses Problem immer wieder mal vornehmen, indem ich Teile des Programmes auskommentiere, bis nur noch der Rest wie im Beispiel Programm übrigbleibt. Irgendwann muß ich dann ja auf den Fehler, meinen Fehler, stoßen. Dann werdet Ihr hier ein "AHA, Gott bin ich blöd gewesen" lesen können. In diesem Sinne, Vielen Dank an alle. Schöne Grüße aus einem regnerischen Nürnberg Morgen, Manfred |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz