ListView Ctrl+A alles selektieren

  • Hallo!

    Ich steh grad auf dem Schlauch u Google hilft mir auch nicht weiter!

    Wie kann ich in einem ListView erkennen, wenn ein User "Ctrl+A" drückt?

    "A" erkenne ich und "CTRL" auch...

    Wie kann ich erkennen, ob "A" und "CTRL" gleichzeitig gedrück sind?

    Vielen lieben Dank!

    lgE

  • Wenn man sowas mit einem Hook macht, werden die Flags ausgewertet, um CTRL abzufragen.

    Vielleicht kannst du das ähnlich einbinden.

    Geht viel einfacher als ich dachte.

    Hintergrund ist, dass niemals 2 Tasten gleichzeitig gedrückt werden, sondern immer nacheinander. "Ctrl+A" wird auch nur erkannt, wenn erst "Ctrl" gedrückt wird und dann zusätzlich "A".

    Genau diese Folge muss nun abgeprüft werden. Dazu einfach den Wert der zuletzt gedrückten Taste speichern und zum Vergleich nutzen.

  • Vielen Dank!

    Leider funktioniert das bei mir nicht ganz so, wie ich will.

    Ich hätte erwähnen sollen, dass ich 9 Listviews nebeneinander hab ;)

    Ein KeyUp wird leider auch nicht ausgewertet. (könnte man aber mit einem TimeOut versehen)

    Ich hab jetzt mal eine Hook Variante und eine simple Variante mit _IsPressed probiert:

    Beide Methoden fühlen sich jedoch nicht "elegant" an.

    Spricht irgendwas gegen _IsPressed?

    vielen Dank!

    lgE

  • Ich würde einen anderen Weg vorschlagen:

  • Oder so:

    Edit: ich weiß nicht warum, aber "Alt Gr + A" funktioniert auch, obwohl $VK_RMENU <> $VK_CONTROL.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

    Einmal editiert, zuletzt von UEZ (3. September 2023 um 15:06)

  • Edit: ich weiß nicht warum, aber "Alt Gr + A" funktioniert auch, obwohl $VK_RMENU <> $VK_CONTROL.

    Moin,

    weil AltGr nicht nur $VK_RMENU ist, sondern zusätzlich auch $VK_LCONTROL.

    Für ein 'reines' Strg+A müsste man ausschließen, dass zusätzlich eine der anderen Modifikatortasten gedrückt ist.

  • Vieln Dank euch allen!

    Ich werde nun die Accelerators Methode verwenden!

    lgE