Toon posts:

[Delphi] Vraag over Numerieke toetsen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als numlock aanstaat kan je reageren op de toetsen van het numerieke toetsenbord. Dus wanneer je op de 4 drukt, kan je dat controleren door op VK_NUMPAD4 te controleren.

Zodra je numlock uitzet en je drukt dan op de 4 op het numerieke toetsenbord, functioneert die toets dus als pijl naar links. Maar is het dan nog mogelijk om onderscheid te maken tussen de normale pijl naar links en de pijl naar links op het numerieke toetsenbord?

Verwijderd

In de keymap is daar toch een verschil in gemaakt?
Ga eens op 't net zoeken naar de keymap functies van Delphi misschien zul je daar wat weizer uit worden

  • Coltrui
  • Registratie: Maart 2001
  • Niet online

Coltrui

iddqd

Ik denk dat je geen onderscheid kan maken tussen de twee toetsen, omdat ze beiden hetzelfde karakter als output geven.

chr(pijl links) = chr(keypad4 zonder numlock) zeg maar.

  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 20:57

Knutselsmurf

LED's make things better

Volgens mij hebben die toetsen verschillende VK_codes. Maar het is toch heel makkelijk om dat even te testen?

- This line is intentionally left blank -


  • Coltrui
  • Registratie: Maart 2001
  • Niet online

Coltrui

iddqd

Het probleem is net dat ze WEL dezelfde VK codes hebben.
(Is idd te testen met onkeypress + showmessage chr(Key))

Verwijderd

Topicstarter
Dus er is geen onderscheid tussen te maken?

  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 20:57

Knutselsmurf

LED's make things better

Gebruik eens ipv de keypress de keydown event. Die heeft namelijk een word als key ipv een byte. Daarmee kan meer onderscheid gemaakt worden. Dan werken volgens mij die VK_codes ook.

- This line is intentionally left blank -


  • Coltrui
  • Registratie: Maart 2001
  • Niet online

Coltrui

iddqd

Daarin heb je gelijk maar, het Keypress-event wordt in Delphi niet getriggerd bij het indrukken van de cursortoetsen (net als tab, Control, Alt e.d.).

Numpad4 zonder numlock = VK_LEFT
Pijltje links = VK_LEFT

in je OnKeyDown
code:
1
2
If Key = VK_LEFT then
   ShowMessage('LIIIIINKS');

ShowMessage wordt bij het indrukken ven beide toetsen uitgevoerd.
Of heb ik het nou weer fout?

  • Crysania
  • Registratie: September 2000
  • Laatst online: 08:05
nog een extra vraagje

als ik 2 toetsen tegelijk in toest, hoe zie ik dat, ik wil bijvoorbeeld een autotje schuin omhoog laten rijden als ik links en omhoog tegelijk doe???

  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 20:57

Knutselsmurf

LED's make things better

Op woensdag 07 november 2001 15:54 schreef THE_CR0SS het volgende:
nog een extra vraagje

als ik 2 toetsen tegelijk in toest, hoe zie ik dat, ik wil bijvoorbeeld een autotje schuin omhoog laten rijden als ik links en omhoog tegelijk doe???
Dat kan je bereiken door de keydown en keyup events te gebruiken. Als pijltje omhoog wordt ingedrukt levert dat een event op en hetzelfde geldt voor het pijltje naar rechts. Dan is het even bijhouden welke toetsen worden ingedrukt. Als de toetsen worden losgelaten levert dat een keyup event op.

- This line is intentionally left blank -


Verwijderd

Topicstarter
Ik heb nog een vraag:

Als NUMLOCK aanstaat en je drukt op de 4 (op het numerieke toetsenbord) ontvangt het systeem een 4

Als NUMLOCK uitstaat en je drukt op de 4 (op het numerieke toetsenbord) ontvangt het systeem een <-

Maar het probleem is dat er bij de toets 5 geen "dubbele" functie op de toets staat.

Dus wanneer NUMLOCK uitstaat is het dan niet mogelijk om te zien of de gebruiker op de 5 heeft gedrukt (op het num. toetsenbord)??

  • Coltrui
  • Registratie: Maart 2001
  • Niet online

Coltrui

iddqd

Heb dan maar eventjes zelf gezocht...
Met de volgende code kan je al een eind denk ik:
code:
1
2
3
4
5
6
7
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);

 begin

   ShowMessage(IntToStr(ord(key)));

 end;

Dan zal je zien dat 5 + Numlock "101" weergeeft en
zonder Numlock "12".

Suc6 :)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:46

Creepy

Tactical Espionage Splatterer

Duh.. dat is ook wat er al gezegd wordt :)
Alleen zit er dus geen verschil tussen pijltje links normaal en pijltje links op je numpad als numlock uit staat!
dat ze met numlock aan/uit verschillende zijn waren we al achter..

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Coltrui
  • Registratie: Maart 2001
  • Niet online

Coltrui

iddqd

Op donderdag 08 november 2001 13:08 schreef tokkie het volgende:

IK HEB NOG EEN VRAAG:

...

Maar het probleem is dat er bij de toets 5 geen "dubbele" functie op de toets staat.

Dus wanneer NUMLOCK uitstaat is het dan niet mogelijk om te zien of de gebruiker op de 5 heeft gedrukt (op het num. toetsenbord)??
:)
Pagina: 1