Listview-Bug wenn Scrollbalken vorhanden?

  • Hallo Leute,

    ich habe ein Problem mit Listviews. Wenn es einen Scrollbalken gibt und man ihn herunterschiebt und dann einige Einträge markieren möchte, springt der Maus-Curser auf Höhe 0!

    Ich würde gerne wie mit dem Stil $WS_THICKFRAME Einträge markieren können. Jedoch ohne den beschriebenen Effekt. Kennt da jemand eine Möglichkeit?

    Hier mal das Problem im Video. Ich will die Maus nur langsam nach links oben bewegen, um Einträge zu markieren. Dabei springt der Mauszeiger sofort an den oberen Bildschirrmrand.

    Externer Inhalt vimeo.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Beispiel (versucht mehrere Einträge zu markieren):

    Grüße autoiter

    2 Mal editiert, zuletzt von autoiter (16. März 2018 um 13:06)

  • Bei mir springt der Cursor nicht...

    Ich würde gerne wie mit dem Stil $WS_THICKFRAME Einträge markieren können.

    Mit dem Stil $WS_THICKFRAME hat das nichts zu tun... es liegt daran, dass $LVS_SINGLESEL als default style verwendet wird.

    ; Control default styles

    Global Const $GUI_SS_DEFAULT_LISTVIEW = BitOR($LVS_SHOWSELALWAYS, $LVS_SINGLESEL)

    Willst du mehrere Items auswählen können, dann reicht auch...

    Local $idListview = GUICtrlCreateListView("col1 |col2|col3 ", 10, 10, 380, 150, $LVS_SHOWSELALWAYS)
    oder...

    Local $idListview = GUICtrlCreateListView("col1 |col2|col3 ", 10, 10, 380, 150, $LVS_REPORT)

  • Hallo Bitnugger ,

    Danke für deine Hinweise mit den anderen Stilen. Leider trifft das mein Problem nicht ganz. Ist aber auch klar, wenn du das Problem bei dir gar nicht nachvollziehen kannst. Ich versuche später mal ein Video zu erstellen.

    Kann irgendwer den beschriebenen Effekt sehen?

    Ich nutze Win 10.

    Grüße autoiter

  • autoitter

    funktioniert einwandfrei. BS xp sp3 32 bit.Autoit 3.3.14.2

    Markieren sowohl einzeln als auch mit gedrückter strg Taste in der Gruppe jederzeit machbar.... Start jedoch mit scroll Button unten. Siehe Bild.

    Gruß

    Peter

    Dateien

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Hallo Peter S. Taler

    Danke fürs Testen. Aber könntest du mal folgendes ausprobieren?

    Mit dem Mauszeiger unten rechts in die Listenansicht klicken. Den Button gedrückt halten und nach links oben zu ziehen um einige Items zu markieren.

    Bei mir springt der Mauszeiger dann an den Bildschirmrand..

    PS: Für das Beispiel habe ich es so eingestellt, dass der Scrollbalken unten ist. Denn nur dann tritt der Effekt auf.

    Grüße autoiter

  • Habe das gleiche Verhalten wie autoiter. Der Mauszeiger springt sofort links oben in die Ecke.

    Nutzt man #AutoIt3Wrapper_UseX64=Y ist das Verhalten genau andersrum.

    Will man dann von oben die Einträge markieren, springt der Mauszeiger unten rechts in die Ecke.

    Sehr merkwürdig.

    MfG timee000

    • Offizieller Beitrag

    Der Bug liegt am Windows 10 selbst.

    https://answers.microsoft.com/en-us/windows/…55acd8d1?auth=1

    Der Fehler liegt nicht am Style sondern ist Murks seitens Miniweich. Wie ich die kenne brauchen sie bestimmt 1 Jahr um den Fehler zu fixen.

  • autoiter,

    funktioniert auch wunderbar. Kein Problem unten rechts clic linkeMaus Taste gedrückt halten - markieren - sensa Problemo.

    Was aber nach dem Beitrag von Raupi zu erwarten war. Ich bin eben noch auf xp :)

    Gruß

    Peter

    Ps.: Es lebe win 10 :rofl:

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Ich habe das gerade noch mal getestet, nachdem ich gelesen habe, was Raupi geschrieben hat... und ja, bei mir (Win 10 X64) springt der Cursor auch ganz nach oben in die linke Ecke, wenn der Cursor im Listview in einem Bereich steht, in dem kein Item mehr ist, also rechts neben col3. Tzz...

  • Leider ist es noch schlimmer. Das war ja nur ein Beispiel. In dem Programm, dass ich gerade schreibe und wo es mir aufgefallen ist, passiert das auch, wenn ich in einer Spalte der Listenansicht bin. Das ist schade, weil ich sonst einfach das Problem durch entsprechend breite Spalten hätte umgehen können..

    So bleibt für mich nur $LVS_EX_FULLROWSELECT. Ich hätte es anders lieber gehabt, aber was soll man machen..

    Grüße autoiter