AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

frage zu getasynckeystate

Ein Thema von Spiderpig_GER_15 · begonnen am 28. Aug 2008 · letzter Beitrag vom 29. Aug 2008
Antwort Antwort
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

Registriert seit: 17. Mär 2008
298 Beiträge
 
Delphi 7 Personal
 
#1

frage zu getasynckeystate

  Alt 28. Aug 2008, 21:47
Hallo,

ich benutze getasynckeystate um zu schauen ob enter und shift gleichzeitig gedrückt sind, mein Problem dabei ist, das das Programm, wenn ich shift vorher drücke und enter zeitversetzt danach denkt das es gleichzeitig wäre. Das soll natürlich nicht sein, gibt es Alternativen bzw. eine Lösung für meinen Ansatz?

MfG

Spiderpig
---Zufall ist das Inkognito Gottes---
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

Re: frage zu getasynckeystate

  Alt 28. Aug 2008, 22:55
Wie wertest du den Rückgabewert von GetAsyckKeyState aus?
Delphi-Quellcode:
// Trick: die Bedingung < 0 prüft, ob das höchstwertige Bit (MSB) gesetzt ist
if (GetAsyckKeyState(VK_ENTER)<0) and (GetAsyckKeyState(VK_RSHIFT)<0) then
  ShowMessage('Right-Shift + Enter');
  Mit Zitat antworten Zitat
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

Registriert seit: 17. Mär 2008
298 Beiträge
 
Delphi 7 Personal
 
#3

Re: frage zu getasynckeystate

  Alt 29. Aug 2008, 18:47
momentan überprüfe ich es wie folgt:

mit keyup schaue ich ob enter gedrückt ist, und mit getasynckeystate schaue ich ob zusätzlich shift gedrückt ist.

Delphi-Quellcode:
keyup...
if (key = vk_return) and (getasynckeystate(vk_shift)>0) then
...
hilföööö

Spiderpig
---Zufall ist das Inkognito Gottes---
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: frage zu getasynckeystate

  Alt 29. Aug 2008, 19:26
Es sieht für mich so aus, als ob du es nur innerhalb eines Controls benötigst und OnKeyDown verwenden kannst. Dann geht das so (ohne GetAsyncKeyState):

Delphi-Quellcode:
if (ssShift in Shift) and (Key = VK_RETURN) then
  // ...
Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

Registriert seit: 17. Mär 2008
298 Beiträge
 
Delphi 7 Personal
 
#5

Re: frage zu getasynckeystate

  Alt 29. Aug 2008, 21:04
was ist denn sShift?

MfG

Spiderpig
---Zufall ist das Inkognito Gottes---
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: frage zu getasynckeystate

  Alt 29. Aug 2008, 21:37
einer der Parameter im OnKeyDown und OnKeyUp
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#7

Re: frage zu getasynckeystate

  Alt 29. Aug 2008, 21:37
schau dir mal deine Funktion Onkeydown an:

Delphi-Quellcode:
FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
und dazu die Hilfe:

Zitat:
TShiftState (Typ):
Wert-->Bedeutung

ssShift --> Die Taste Umschalt wird gedrückt gehalten.
ssAlt --> 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.
  Mit Zitat antworten Zitat
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

Registriert seit: 17. Mär 2008
298 Beiträge
 
Delphi 7 Personal
 
#8

Re: frage zu getasynckeystate

  Alt 29. Aug 2008, 22:39
dankü schön
---Zufall ist das Inkognito Gottes---
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:44 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