Jeg skal have lavet en \"fortryd sidste indtastning’\"-knap til mit projekt. Jeg vil lave den ved hjælp af et tastetryk, hvor jeg bruger KeyPress-EventProceduren. Er der nogen der vil hjælpe?
Du kan vælge KeyPress Event og checke hvilken tast der er blevet trykket (a, b, 3, u, * osv) eller du kan bruge KeyDown eventen hvor du har mulighed for at checke tastenumre, og derfor også kan bruge alt a, PageDn, Del osv.
Hvis det kun er et enkelt sted dit tastetryk skal virke, bruger du eventen for den control (F.eks kun når din listbox eller knap er i Focus). Hvis det er generelt for Form\'en, vælger du Formens Key- event, og sætter KeyPreview til true, så du også fanger tastetrykket når der er en knap i focus.
Hvis du f.eks vil reagere på ctrl-z bruger du følgende:
Procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if ((ssCtrlShift in Shift) and (key=90)) then Begin label1.Caption := \'Der blev trykket Ctrl-z\'; {Her indsættes din kode} End end;
Ups - Det skulle selvfølgelig være ssCtrl og ikke ssCtrlShift i if-sætningen, og du kan også bruge (key = VK_Z) istedet for key = 90, hvilket gør det lidt mere forståeligt.
eller du kan også lave en tilsvarende funktion i en TMainMenu og sætte en hotkey til der...
Synes godt om
Ny brugerNybegynder
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.