Einzelnen Beitrag anzeigen

trashcandesign

Registriert seit: 21. Feb 2006
Ort: Mühlhausen
187 Beiträge
 
Delphi XE2 Professional
 
#1

ShiftState setzen - oder Multiselect ohne Strg

  Alt 26. Apr 2012, 11:57
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
  Mit Zitat antworten Zitat