| Autor |
Beitrag |
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Fr 18.12.09 10:50
Hi,
Leider weiss ich nicht, wie ich die Frage sonst formulieren soll!!??
Ich verwende in meiner Applikation
www.delphi-library.d...+empfangen_5286.html
mit ein paar kleine Änderungen, funct ja auch.
Leider kann man damit kein scroll der Listbox durchführen wenn die Maus darüber ist, lediglich das ablegen funct.
Dabei geht es darum, nicht nur einfach per dragdrop das ganze fallen zulassen, sondern auch zu positioniern.
Dazu muss man aber per Maus das ganze auch scrollen können.
Hatt jemand eine Idee wie man dies umsetzen kann?
Gruss Alf
Moderiert von Narses: Titel geändert (Mächtigkeit der ?-Menge auf 1 reduziert).
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Reinhard Kern
      
Beiträge: 591
Erhaltene Danke: 14
|
Verfasst: Fr 18.12.09 13:22
ALF hat folgendes geschrieben : | ...Dazu muss man aber per Maus das ganze auch scrollen können.
Hatt jemand eine Idee wie man dies umsetzen kann?
|
Hallo,
prüf mal, ob du nach OnDragOver MousMove-Ereignisse bekommst - wenn nicht, musst du dir die Mausposition per Hook besorgen. Dann kannst du scrollen, wenn sich die Maus am Rand befindet.
Gruss Reinhard
|
|
ALF 
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Fr 18.12.09 13:49
hi,
leider gibt es keine Ereignisse von meiner Applikation zu diesem Zeitpunkt.
nicht mal Mausposi und so kann abgefragt werden weil ja in diesem Moment meine applikation nicht die Aktive ist
Erst beim loslassen der Maus und da ist schon alles zu Spät.
Mausposi per Hook  mhh da brauche ich sehr viel infos oder Hilfe
gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Reinhard Kern
      
Beiträge: 591
Erhaltene Danke: 14
|
Verfasst: Fr 18.12.09 17:19
ALF hat folgendes geschrieben : | hi,
leider gibt es keine Ereignisse von meiner Applikation zu diesem Zeitpunkt.
nicht mal Mausposi und so kann abgefragt werden weil ja in diesem Moment meine applikation nicht die Aktive ist
Erst beim loslassen der Maus und da ist schon alles zu Spät.
Mausposi per Hook mhh da brauche ich sehr viel infos oder Hilfe
gruss Alf |
Hallo,
das kann so nicht stimmen, zumindest wird eine Applikation benachrichtigt, dass ein Drop droht (das meinte ich mit OnDragOver), dann kann sie mitteilen, ob sie das Objekt akzeptieren wird und den Mauszeiger entsprechend ändern.
Dass ein Hook nicht trivial ist, ist schon klar, geht auch an Windows vorbei und belastet das System. Aber irgendwoher musst du ja die Mausposition bekommen.
Gruss Reinhard
|
|
ALF 
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Fr 18.12.09 17:58
ne, nicht ganz richtig,
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.FormCreate(Sender: TObject); begin .... DragAcceptFiles(Handle, True); .... end; procedure TForm1.WMDROPFILES(var Msg: TMessage); begin ... GetCursorPos(pos);... end; |
Inerhalb meiner Applikation gibt es keine Möglichkeit irgend etwas abzufragen, auch nicht
ondragover, sonst währe es ja nicht so komplizert und ich würde nicht fragen
Hab ich alles schon mit herkömlichen Ereignissen getestet
Gruss
Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Reinhard Kern
      
Beiträge: 591
Erhaltene Danke: 14
|
Verfasst: Sa 19.12.09 02:01
ALF hat folgendes geschrieben : |
Inerhalb meiner Applikation gibt es keine Möglichkeit irgend etwas abzufragen, auch nicht
ondragover... |
Tja, wenn du das so sagst... Klar hat dein TForm1 das Ereignis OnDragOver, aber ich kann natürlich nicht beurteilen, warum du das nicht benutzen willst. Aber wenn einem nichts anderes einfällt, darf man nicht auch noch wählerisch sein. Naja du weisst es eben besser, Punkt.
Gruss Reinhard
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 19.12.09 09:59
Reinhard Kern hat folgendes geschrieben : | | Tja, wenn du das so sagst... Klar hat dein TForm1 das Ereignis OnDragOver, aber ich kann natürlich nicht beurteilen, warum du das nicht benutzen willst. |
Das wird aber AFAIK nicht ausgelöst, wenn eine solche externe Drag-Operation durchgeführt wird. In welcher Delphiversion funktioniert das denn damit? Hab ich da was von neuen Versionen verpasst?
|
|
ALF 
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Sa 19.12.09 12:12
Ne, verpasst hatt keiner was. Soweit ich weiss, gibt es auch in den neuen Versionen von Delphi nichts für externe dragop um Mouspos abzufangen. zumindestens nicht, wenn sich die Mouse wieder über die eigen Applikation befindet. schade
Habe die halbe Nacht versucht mit MousHook was zu machen
Gibt ja "relativ" gute Infos, Handtuch geworfen
zu kompliziert für mein Kleinhirn
mit "MouseCapture:=true", währe zwar ne schöne Idee, was leider nur Teilweise funct. zumindestens bei mir!
Auch wenn meine Applikation nicht die Aktive ist, und man mit der Maus darüber geht bekomme ich zwar die Pos, sobald aber eine MausTaste gedrückt ist erhalte ich keine infos mehr mh...
Naja, werde das wohl mal in die Ecke stellen und erst mal so weiter machen!
Thx
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
ALF 
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Sa 19.12.09 16:21
hab jetzt was gefunden
www.delphi-forum.de/...mp;highlight=#269857
Damit erhalte ich zumindestens erstmal die Mousepos.
Wie ich das jetzt aber umsetzte das er scrollt wenn er über die Componente ist???
mh.. zur Zeit noch kein Ansatz.
Jemand ne Idee
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
ALF 
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Mi 13.01.10 00:02
so, habe jetzt die "The Drag and Drop Component Suite for Delphi " genommen.
melander.dk/delphi/dragdrop#download
Wollte das zwar nicht so.... aber
Entlich Ruhe mit diesem Problem
Trotzdem Danke an Alle
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
|