Autor Beitrag
mega
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

Win XP
D3 Prof
BeitragVerfasst: So 10.04.05 19:25 
Abfrage des Shiftstate, wie?

Hallo, wie läßt sich der Shiftstate abfragen?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
  
begin
 
if Shift = ssLeft then tuwas();
end;

Die if ergibt einen 308 Inkompatibel Typen

mit 'ssleft' und "ssLeft" geht es auch nicht. Aber das Ding ist ja irgenwie zum Abfragen gedacht...

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.
Holgerwa
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 325

WIN XP Pro, Vista Business
Delphi 7 Pro, BDS 2006 Pro
BeitragVerfasst: So 10.04.05 21:18 
Hallo,

Shift ist ein Set, versuchs mal mit
ausblenden Delphi-Quelltext
1:
if ssLeft IN Shift then Tuwas;					

Holger
StefanH
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1144

Win XP
D5 Standard, D7 Pers, D2005 Pers
BeitragVerfasst: Mo 11.04.05 15:52 
Die Delphi-Hilfe verrät uns zu TShiftState folgendes:

Zitat:
Der Typ TShiftState gibt den Status der Tasten Alt, Strg und Umschalt sowie der Maustasten an.

Unit

Classes

type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);

Beschreibung


TShiftState wird von den Behandlungsroutinen für Tastatur- und Mausereignisse verwendet, um bei Auftreten eines Ereignisses den Status der Tasten Alt, Strg und Umschalt sowie der Maustasten zu ermitteln. Folgende Werte sind möglich:

Wert Bedeutung

ssShift Die Taste Umschalt wird gedrückt gehalten.
ssAlt Die Taste Alt wird gedrückt gehalten.
ssCtrl Die Taste Strg wird gedrückt gehalten.
ssLeft Die linke Maustaste wird gedrückt gehalten.
ssRight Die rechte Maustaste wird gedrückt gehalten.
ssMiddle Die mittlere Maustaste wird gedrückt gehalten.
ssDouble Es wurde mit der Maus doppelgeklickt.


=> if ssShift in Shift then somefoo();

_________________
"Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
"Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)