use*_*105 5 delphi keypress delphi-2009
我无法弄清楚如何捕获Delete按键.我发现在ASCII码表中,它位于127位,但if (Key = #127) then让我无处可去.
然后我检查了VK_DELETE它的值是47.试图使用它,但它没有用.
将KeyPreview := true在我的形式设置.
我尝试将其添加ShowMessage(IntToStr(Ord(Key)))到Forms KeyPress事件中,但是在单击Delete键时我从未收到消息弹出窗口.
我需要Delete在动态创建的编辑字段中处理按键操作.我想控制文本用户可以在该字段中删除哪些部分,并且我知道如何使用Backspace键处理文本删除,现在需要弄清楚如何使用键来执行此操作Delete.
谢谢
mgh*_*hie 12
你应该处理OnKeyDown而不是OnKeyPress事件.如果你那样做那么VK_DELETE应该适合你.请注意,参数for OnKeyDown和OnKeyUp是a Word,而不是Charas OnKeyPress.
Vil*_*nde 12
Mghie有正确的答案,这是一个样本:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_DELETE then
showmessage('Delete key was pressed');
end;
Run Code Online (Sandbox Code Playgroud)
请注意,用户还可以使用剪切到剪贴板删除文本,因此您可能还需要处理它.
| 归档时间: |
|
| 查看次数: |
27170 次 |
| 最近记录: |