Avatar billede roz Nybegynder
17. marts 2005 - 23:35 Der er 4 kommentarer og
1 løsning

Checke taster

Hvordan kan man checke om det er en bestemt taste kombination der bliver trykket og så udføre noget kode hvis det er den korrekte?

Hvordan kan man f.eks. checke om der bliver trykket på ctrl+shift+t+u og så vise en besked når der bliver?
Skal siges det kun skal virke mens formen er fremme så jeg ved ikke om det er nødvendigt at lave et hook?
Avatar billede kroning Nybegynder
19. marts 2005 - 15:53 #1
Brug formens OnKeyDown event

/HK
Avatar billede roz Nybegynder
19. marts 2005 - 17:49 #2
Vidste jeg så godt ;)Men hvad skal man skrive i OnKeyDown?
Avatar billede nop Nybegynder
25. marts 2005 - 11:40 #3
I onKeyDown:

1: Du skal fange taste tryk og lægge det i en liste.
2: Løb array igennem og test om den kombination(evt flere) findes, hvis fundet så reset listen og kald en proc/andet action.
(3: sæt timerens tid til fx 3 sec. dvs max tid imellem taster = 3 sec)

Lav en timer, den skal nulstille listen bare.

Timeren vil sørge for at hvis interval mellem taster er for lang så accepteres input ikke.
Avatar billede kroning Nybegynder
25. marts 2005 - 12:50 #4
Det er nok lettere at benytte formens onkeydown, husk at KeyPreview=true

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
const
VK_U = $55;
begin
if (ssShift in Shift) and (ssCtrl in Shift) and (Key=VK_U) then
  showmessage('shift+ctrl+u tastet');
end;

en anden mulighed kunne være at benytte en skjult menu med nogle ShortCut sat. Eller evt. benytte windows WM_HOTKEY, RegisterHotKey mulighed. Se her:
http://www.swissdelphicenter.ch/torry/showcode.php?id=147
Avatar billede roz Nybegynder
06. juni 2005 - 18:28 #5
...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester