Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Drag/Drop mit eigenem Cursor


ProggyPeter - Fr 04.03.11 23:49
Titel: Drag/Drop mit eigenem Cursor
Ich möchte innerhalb eines Stringgrids (TADVStringgrid) einzelne Zeilen per Drag und Drop verschieben.
Dabei möchte ich als Dragcursor den (gekürzten) Inhalt der Dragzeile als Cursor anzeigen.
Etwa so wie es in Windows 7 der Explorer macht.
Mir fallen da von Haus aus nur 2 etwas umständliche Lösugen ein.
1. Den Zeileninhalt als Bitmap speichern und dann als Cursor zuweisen.
2. Ein Hintfeld (oder Balloon-Hint) anzeigen und mit MouseMove verschieben.

Im Fall 2 ist ein Balloonhint manchmal etwas störrisch. (Flakern beim Verschieben, kurzes Verschwinden u.s.w.)
Gibt es noch eine weitere, evenduell einfachere Möglichkeit?

Gruß
Hans


elundril - Sa 05.03.11 01:20

selbst zeichnen. ich bin mir ziemlich sicher das firefox das selbst zeichnet.

lg elundril


jaenicke - Sa 05.03.11 06:42

Richtig. Das hier sollte helfen:
http://docwiki.embarcadero.com/VCL/de/Controls.TDragObject
http://delphiforfun.org/programs/Delphi_Techniques/DragImageDemo.htm