02. september 2008 - 22:45 Der er 2 kommentarer og
1 løsning

Få et taste tryk til kun at gælde i FormKeyDown

Med FormKeyDown kan man få sit program til at udføre forskellige handlinger ved at trykke på en knap. indtil videre har jeg kun brugt det i forbindelse med funktionsknapperne og der virker det fint.
Men så fik jeg lyst til at bruge plus og minus på det numeriske tastatur til at bladre op og ned i nogle værdier.
Værdierne bladrer skam også op og ned som de skal, men hvis skrive markøren står i et TEdit så kommer der et plus tegn eller et minus tegn frem. Jeg har prøvet at afslutte rutinerne med et Key := 0; men det hjælper ikke.

procedure TForm27.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  case Key of
    VK_Add      : begin
                    PladeNr.Text := IntToStr(StrToInt(PladeNr.Text) + 1);
                    PladeNrExit(Sender);
                    Key := 0;
                  end;
    VK_Subtract : begin
                    PladeNr.Text := IntToStr(StrToInt(PladeNr.Text) - 1);
                    PladeNrExit(Sender);
                    Key := 0;
                  end;
    VK_F1      : Figur61.Help.Vis(27);
    VK_F2      : RetClick(Sender);

...  etc.

  end;
end;

Hvad gør man for at tastetrykket ikke kommer længere end til mit FormKeyDown event?
Avatar billede kroning Nybegynder
02. september 2008 - 23:03 #1
Du bruger OnKeyPress i stedet til de taster:

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  case key of
    '+' : begin
      PladeNr.Text := IntToStr(StrToInt(PladeNr.Text) + 1);
      PladeNrExit(Sender);
      key:=#0;
end;
  end;
end;
Avatar billede hrc Mester
03. september 2008 - 09:45 #2
Du burde bruge TActionList til at sætte genvejstaster på. Alle handlinger i dit program burde gå gennem en TActionList.
27. november 2010 - 16:21 #3
Lukker
Havde glemt alt om det.
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