Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   ListView Copy/Paste abschalten ? (https://www.delphipraxis.net/171628-listview-copy-paste-abschalten.html)

kuba 16. Nov 2012 00:26

ListView Copy/Paste abschalten ?
 
Hallo,

ich verwende in meinem Programm die ListView Komponente. Gelegentlich kommt es vor, daß beim klicken in der ListView Einträge in eine andere Zeile übertragen werden. Ich vermute, daß die Übertragung über die Zwischenablage erfolgt. Irgendwie hängt es mit der Scrollbar zusammen, die "hängt" plötzlich und die Einträge werden dann übertragen. Kann man die Zwischenablage bei Verwendung der ListView abschalten ??

kuba

Perlsau 16. Nov 2012 02:21

AW: ListView Copy/Paste abschalten ?
 
<
Zitat:

Zitat von kuba (Beitrag 1191412)
Gelegentlich kommt es vor, daß beim klicken in der ListView Einträge in eine andere Zeile übertragen werden.

Wie "übertragen" in eine andere Zeile? Meinst du damit, daß ein Eintrag, der zuerst z.B. in Zeile 3 stand, nun in Zeile 4 steht?

Ist der Eintrag dann doppelt vorhanden, oder sind da nur die Einträge zweier Zeilen vertauscht?

Geschieht das von ganz alleine? Das kann ich mir eigentlich nicht vorstellen ...

Zitat:

Zitat von kuba (Beitrag 1191412)
Ich vermute, daß die Übertragung über die Zwischenablage erfolgt.

Wer außer dir als Programmierer kann denn diese Übertragung via ClipBoard veranlassen und durchführen?

Zitat:

Zitat von kuba (Beitrag 1191412)
Irgendwie hängt es mit der Scrollbar zusammen, die "hängt" plötzlich und die Einträge werden dann übertragen.

Du meinst, deine ListView-Komponente wird durch ihre Scrollbar manipuliert, so daß Einträge verändert werden?

Sieht mir eher danach aus, als ob die Komponente nicht sofort neu gezeichnet wird.

Möglicherweise hast dein Listview irgendwelche Ereignisbehandlungen, die das Neuzeichnen verzögern?

Zitat:

Zitat von kuba (Beitrag 1191412)
Kann man die Zwischenablage bei Verwendung der ListView abschalten ??

Die Zwischenablage ist ein Windows-Werkzeug, auf das man via Delphi-Code zugreifen kann. Wenn du in deiner Anwendung kein Clipboard einsetzt, dann wird das da auch nicht verwendet. Du kannst natürlich die Verwendung der Tastenkombination Ctrl-C in deinem Programm unterbinden, aber ob das dein Problem – das ich ganz ehrlich gesagt wohl nicht so richtig verstanden habe – löst, darf bezweifelt werden.

Übrigens: Tante Google verbirgt vor dir zahlreiche Links zum windowsweiten Abschalten der Zwischenablage ...

kuba 16. Nov 2012 21:59

AW: ListView Copy/Paste abschalten ?
 
Wenn ich auf einen Eintrag in der ListView klicke und dann auf einen anderen Eintrag, dann steht plötzlich der zuvor angeklickte Eintrag in der Zeile. Das schlimme ist, der Einttrag wir überschrieben und der zuerst angeklickte steht dann doppelt in der ListView. Mir ist aufgefallen, daß es immer (manchmal) passiert, wenn ich zuvor die Scrollbar benutzt habe. Es kommt mir vor als wäre die Scrollbar aktiv, so als wenn immer noch mit der Maus darauf geklickt wird. Das passiert von ganz alleine, aber eben nur manchmal...

kuba

stahli 16. Nov 2012 22:11

AW: ListView Copy/Paste abschalten ?
 
Nutzt Du irgendwie LiveBinding?
Die Problembeschreibung klingt etwa wie das, das mich bei den FireMonkey-Grids und LiveBinding so zur Verzweiflung getrieben hat (und treibt), nur nicht ganz so schlimm.

kuba 16. Nov 2012 22:32

AW: ListView Copy/Paste abschalten ?
 
Nee ich nutze kein LiveBinding. Das einzige ungewöhnliche was ich mache ist, daß ich ein SpinEdit verwende bei dem ich einen Timer starte wenn ich den Wert manuell eingebe. Nach Ablauf des Timers wird der Wert in die ListView übertragen. Das kann aber nichts damit zu tun haben, daß ein Wert den ich angeklickt habe plötzlich in die danach angeklickte Zeile übertragen wird, weil ich das SpinEdit gar nicht verwendet habe.

kuba


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz