Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   ShiftState setzen - oder Multiselect ohne Strg (https://www.delphipraxis.net/167933-shiftstate-setzen-oder-multiselect-ohne-strg.html)

trashcandesign 26. Apr 2012 11:57

ShiftState setzen - oder Multiselect ohne Strg
 
Moin,

ich weiß, die Frage kam schon öfter, aber irgendwie bin ich auch der Lektüre noch nicht schlauer.
Ich habe ein cxGrid in einem Popup als Auswahl-Dialogbox.
Wenn ich nun in diesem Grid, Multiselect ist an, mehrere Records selektieren will muss ich immer die Strg-Taste drücken.

Um das zu umgehen habe ich schon mit
Code:
keybd_event(VK_CONTROL, 0, 0, 0)
die Taste dauerhaft gedrückt.

Das funktioniert auch einigermaßen. (Ja, das Loslassen hab ich auch nicht vergessen ;))
Wenn ich zb. ESC drücke, um das Popup abzubrechen, wird, dank gedrückter Strg-Taste, das Windows-Startmenü geöffnet.
Und so gibt es noch ein paar andere Probleme.

Nun wäre meine Idee, nur bei einem Mausklick, bzw. bei gedrücker Cursor- oder Leertaste, die Strg-Taste mitzugeben.
Und nun die Frage an euch: Wie?

Kann ich irgendwie den Shift-State setzen?
Wenn ich das im OnMouseDown oder KeyDown setze bringt es mir nichts.

Wo und wie kann ich sowas machen, oder ist mein Ansatz schon völlig Banane?

Gruß
Dirk


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:21 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