Avatar billede Max Novice
12. september 2002 - 20:58 Der er 5 kommentarer og
1 løsning

Key events..

Hej igen..
Endnu engang er jeg stødt på et højst atypisk problem. Jeg er i gang med at lave mig nogle OnKeyDown events. Jeg vil gerne fange Ctrl+A i min ListBox for at markere alle felter. Det gik egentlig også meget fint, indtil jeg skulle til at fange en Alfa tast.

if (Shift=[ssCtrl]) and (Key=??)

Jeg har prøvet med : Key=Key_A (Key_* som findes i Qt unit'en), men det virker ikke. Hvad skal jeg gøre for at fange en ganske almindelig tast?

Mvh.
/Mnc
Avatar billede cms Nybegynder
12. september 2002 - 21:56 #1
du kan benytte OnKeyPress, hvor du får den som char, eller du kan skrive Key = Ord('A')
Avatar billede hermandsen Juniormester
12. september 2002 - 23:31 #2
Lav det hellere sådan her:
if (Shift = [ssCtrl]) and ((Key = Ord('A')) or (Key = Ord('a'))) then
  ShowMessage('Du har trykket på Ctrl+A'#13#10'Tillykke med det! ;)');
Avatar billede Max Novice
12. september 2002 - 23:38 #3
Hermandsen : Jeg får en Incompatible Types fejl når jeg laver det sådan.
/mnc
Avatar billede Max Novice
12. september 2002 - 23:44 #4
Det har nok noget at gøre med at deklarationen er :

procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Char; Shift: TShiftState);

Men når jeg ændrer det til Key = 'A', virker det heller ikke..
Avatar billede Max Novice
12. september 2002 - 23:51 #5
Eh, sorry... Gammel deklaration.. Det virker. Jeg hænger ved hermandsen's svar. Points til dig.
Avatar billede hermandsen Juniormester
12. september 2002 - 23:51 #6
Smid lige hele proceduren ind så der står
procedure TForm1.ListBox........
begin
...
end;
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