AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ListView-Problem in SelectItem() mit MessageDlg und DragDrop
Thema durchsuchen
Ansicht
Themen-Optionen

ListView-Problem in SelectItem() mit MessageDlg und DragDrop

Ein Thema von Brainshock · begonnen am 14. Jun 2006 · letzter Beitrag vom 17. Jun 2006
Antwort Antwort
Brainshock

Registriert seit: 26. Nov 2004
Ort: 37345
214 Beiträge
 
Delphi 7 Professional
 
#1

ListView-Problem in SelectItem() mit MessageDlg und DragDrop

  Alt 14. Jun 2006, 10:09
Hallo,

ich arbeite gerade an einem Programm mit einer Listview die eine Liste von Bilddateien enthält. Das aktuell ausgewählte Bild wird in einem Image dargestellt und kann verändert werden. Beim Wechseln der Datei über das Listview soll dem Benutzer über einen MessageDlg eine Speichern-Abfrage gestellt werden und hier liegt das Problem, aus irgendeinem Grund springt der Mauscursor nach dem Schließen des Dialogs auf einen anderen Zeiger (Drag und Drop like) und zeigt auch sonst ein seltsames Verhalten.
Das Problem liegt scheinbar im aktiviertem Drag und Drop der ListView.

Ich habe mal ein Beispielprogramm angehangen, was das Problem simuliert.


Hat vielleicht jemand eine Idee bzw. Lösung/Workaround für das Problem?



PS: Das Beispiel ist in Delphi7 geschrieben.
Angehängte Dateien
Dateityp: zip dragdroplv_117.zip (2,0 KB, 12x aufgerufen)
Matthias
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: ListView-Problem in SelectItem() mit MessageDlg und Drag

  Alt 14. Jun 2006, 12:13
Hallo Matthias,

dass sich Dragging und OnSelectItem() beißen ist klar - man könnte deinen Wunsch als Suche nach einem backtracking im Interaktionsmodell bezeichnen, frei nach dem Motto "do what I mean".

Dass die Speicheraufforderung in deinem Programm einzig vom Wechsel des akteuellen Bildes abhängt, kann ich mir nicht vorstellen. Der Benutzer müsste viel zuviele Dialogfenster bedienen. Es gibt also eine weitere Bedingung, die abgefragt werden muss und dort ist dein Ansatzpunkt. Die Aktion, welche diese Bedingung schafft, muss das Dragging deaktivieren und nach der Speicheraufforderung musst du es wieder aktivieren.

Grüße vom marabu
  Mit Zitat antworten Zitat
Brainshock

Registriert seit: 26. Nov 2004
Ort: 37345
214 Beiträge
 
Delphi 7 Professional
 
#3

Re: ListView-Problem in SelectItem() mit MessageDlg und Drag

  Alt 14. Jun 2006, 13:45
Zitat:
Dass die Speicheraufforderung in deinem Programm einzig vom Wechsel des akteuellen Bildes abhängt, kann ich mir nicht vorstellen. Der Benutzer müsste viel zuviele Dialogfenster bedienen.
... ist aber so. Momentan hab ich das ganze so gelöst, das der Benutzer explizit einen Speichern-Knopf drücken muss, um die Änderungen zu speichern oder sie gehen beim Wechseln verloren (was nicht immer gewollt ist).

Ich habe die Beispielanwendung mal erweitert um den Vorgang besser darzustellen. Statt der Bilddarstellung hab ich ein mal ein Memo benutzt.
Angehängte Dateien
Dateityp: zip dragdroplv2_101.zip (2,6 KB, 8x aufgerufen)
Matthias
  Mit Zitat antworten Zitat
Brainshock

Registriert seit: 26. Nov 2004
Ort: 37345
214 Beiträge
 
Delphi 7 Professional
 
#4

Re: ListView-Problem in SelectItem() mit MessageDlg und Drag

  Alt 16. Jun 2006, 08:33
kann nicht doch nochmal einer gucken?
Matthias
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: ListView-Problem in SelectItem() mit MessageDlg und Drag

  Alt 17. Jun 2006, 18:58
Hallo Matthias,

habe geguckt.

Zitat von Brainshock:
Zitat von marabu:
Dass die Speicheraufforderung in deinem Programm einzig vom Wechsel des aktuellen Bildes abhängt, kann ich mir nicht vorstellen. Der Benutzer müsste viel zuviele Dialogfenster bedienen.
... ist aber so.
der Wechsel des Items ist lediglich der Auslöser einer Prüfung, die Speicherung erfolgt in Abhängigkeit von einer (1) erfolgten Änderung und (2) dem expliziten Wunsch des Benutzers. Meiner vorigen Aussage habe ich nichts hinzuzufügen - außer vielleicht einer Demo, die dir zeigt, was ich unter der Unverträglichkeit von Dragging und verschachtelter Interaktion verstehe und wie ich dem Problem begegne.

Freundliche Grüße

marabu
Angehängte Dateien
Dateityp: zip dragdroplv2_121.zip (2,5 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz