Liste erstellen und Einträge gezielt per Maus wieder löschen?
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
06.05.2010, 23:16 (Dieser Beitrag wurde zuletzt bearbeitet: 06.05.2010 23:16 von schurzgasschweisser79.)
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?
Liste erstellen und Einträge gezielt per Maus wieder löschen?
Im Ablegen Event... Schau mal in den Clustern, in dt. heisst der PlattfUmschalttasten. Da ist auch die Strg-Taste drin.
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!
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)
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!
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.)
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?
Liste erstellen und Einträge gezielt per Maus wieder löschen?
' schrieb:Verstehst du was ich meine?
Jupp.
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!
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.)
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!
Wenn du in der Casestruktur die Listbox Propertynode Objektnamen weglässt, verhält sich die Listbox seltsam (... die verschobenen Einträge verschwinden).
Egal. Es läuft. Ob es so Sinn macht oder nicht...
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!