06.05.2010, 23:16
(Dieser Beitrag wurde zuletzt bearbeitet: 06.05.2010 23:16 von schurzgasschweisser79.)
|
schurzgasschweisser79
LVF-Gelegenheitsschreiber
Beiträge: 86
Registriert seit: Apr 2010
8.6
2010
de
Deutschland
|
Liste erstellen und Einträge gezielt per Maus wieder löschen?
Guten Abend . Ich hätte eine kleine neue Frage an die Profis des Eventhandlings:
Wie kann man denn beim Beenden eines Drag and Drops (in einer Listbox) feststellen, ob die Steuerungstaste gedrückt wurde?
Das nette Vkey Feld gibt es bei dem Event "Drag Ended" leider nicht
Brauche ich da irgendwelche verschachtelten Events oder wie macht man das am Einfachsten?
|
|
|
07.05.2010, 08:50
|
schurzgasschweisser79
LVF-Gelegenheitsschreiber
Beiträge: 86
Registriert seit: Apr 2010
8.6
2010
de
Deutschland
|
Liste erstellen und Einträge gezielt per Maus wieder löschen?
Hi SeBa,
danke für deine Antwort.
Ok ich hab des jetzt gefunden. Ich habe momentan doch die englische Version hier. Vielleicht sollte ich das in meinem Profil ändern.
Ablegen ist jedenfalls da "Drop". Da gibts das was du beschreibst natürlich auch .
Das blöde ist nur: ich hatte zuvor mit "Drag ended" anstatt von "Drop" als Event gearbeitet.
Hier kann man naemlich mit der Eigenschaft "Item Names - Value" von der Listbox die Position erhalten, wo das gedropt worden ist (siehe VI von oben). Wenn ich diese Eigenschaft nun in das "Drop" Event (also wo man - wie du richtig sagst - Information über Ctrl, Shift u.ä. bekommt) reinschiebe, dann bekomme ich nicht mehr die Listenposition beim Droppen, sondern die beim Starten (um diese Information zu erhalten hatte ich bisher den Case "Drag Starting" verwendet).
Brauch ich also einmal einen "Drop" Case und einmal einen "Drop Ended" Case in der Event Struktur? (Dann würde ich mir immerhin den "Drag Starting" sparen )
|
|
|
07.05.2010, 09:58
|
SeBa
LVF-Guru
Beiträge: 2.025
Registriert seit: Oct 2008
09SP1 & 10 FDS
2008
DE
65xxx
Deutschland
|
Liste erstellen und Einträge gezielt per Maus wieder löschen?
So nebenbei...
Verschieben und Kopieren von Listboxeinträgen ist doch BuiltIn...
Eigentlich brauchst du dafür keine extra Eventsteuerung.
Oder hab ich was übersehen? Hab den Thread ja auch nich komplett gelesen
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
|
|
|
07.05.2010, 15:04
|
schurzgasschweisser79
LVF-Gelegenheitsschreiber
Beiträge: 86
Registriert seit: Apr 2010
8.6
2010
de
Deutschland
|
Liste erstellen und Einträge gezielt per Maus wieder löschen?
Zitat:Verschieben und Kopieren von Listboxeinträgen ist doch BuiltIn..
Das stimmt, aber gleichzeitig soll in einem unabhängigen Array dasselbe passieren, was in der Listbox passiert (also wenn A mit B dort vertauscht wird, soll das im Array auch passieren... usw)
Deshalb brauch ich die Infos wo der Drag los ging und wo er geendet hat, was gelöscht wurde, was wohin kopiert wurde...
Verstehst du was ich meine?
|
|
|
07.05.2010, 15:24
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2010 15:25 von schurzgasschweisser79.)
|
schurzgasschweisser79
LVF-Gelegenheitsschreiber
Beiträge: 86
Registriert seit: Apr 2010
8.6
2010
de
Deutschland
|
Liste erstellen und Einträge gezielt per Maus wieder löschen?
Zitat:Brauch ich also einmal einen "Drop" Case und einmal einen "Drop Ended" Case in der Event Struktur? (Dann würde ich mir immerhin den "Drag Starting" sparen )
Das geht nicht hab ich gerade gemerkt.
Wenn ich in meinem VI "Drag Starting" durch "Drop" ersetze, dann krieg ich in "Drag Ended" nicht mehr die Information raus, wo der Drag geendet hat (da steht dann auch nur die Startposition in der Eigenschaft von der Listbox).
Das muss doch irgendwie gehen, dass ich herausfinde, wo der Drag gestartet hat, wo er geendet hat und ob gleichzeitig Ctrl gedrückt war oder nicht. Nur wie mach ichs?
|
|
|
07.05.2010, 17:04
|
schurzgasschweisser79
LVF-Gelegenheitsschreiber
Beiträge: 86
Registriert seit: Apr 2010
8.6
2010
de
Deutschland
|
Liste erstellen und Einträge gezielt per Maus wieder löschen?
Zitat:Jupp.
Hihi, und hast du auch eine Idee, wie man das Lösen könnte ?
Also nochmal konkret
Ich suche nach einer Möglichkeit via Event Handling in einer Listbox Drag & Drop Operationen durchzuführen und dabei Informationen zu erhalten, welche Einträge verschoben worden, bzw. welche Einträge kopiert worden sind.
|
|
|
07.05.2010, 19:13
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2010 19:14 von jg.)
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Liste erstellen und Einträge gezielt per Maus wieder löschen?
Wie wäre folgende Holzhammer-Methode (falls sinnvoll möglich): Wenn irgendein Drag-Event beendet ist, dann stellst du dir aus der Listbox dein Array zusammen?! Soll heißen, dir ist egal, was für ein Element verschoben oder gelöscht wurde, du synchronisierst dein Array einfach immer auf den aktuellen Inhalt der Listbox.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
| |