首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Delphi中检测备忘录中的enter

在Delphi中检测备忘录中的enter
EN

Stack Overflow用户
提问于 2015-05-25 22:31:32
回答 3查看 6K关注 0票数 2

嗨,我正在使用Delphi中的备忘录编写命令shell,问题是要检测编写的最后一行,并读取我需要知道如何检测备忘录上的enter键的命令。

因为我能检测到备忘录上的回车键?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-25 22:37:43

TMemo控件中检测enter键很容易。只需添加一个OnKeyPress事件:

代码语言:javascript
运行
复制
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    // Do something
  end;
end;
票数 2
EN

Stack Overflow用户

发布于 2015-05-25 23:20:11

OnKeypress事件中,您可以检查某些密钥并根据自己的意愿处理它们。enter键是这些键之一。

代码语言:javascript
运行
复制
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
const
  ENTER = #13;
begin
  case Key of
    ENTER : begin
              // Do something
            end;
  end;
end;

默认情况下,TMemoWantReturns属性设置为TRUE。这意味着,除了可能在代码中实现的对键按下的任何响应外,TMemo还将接收密钥事件,并在备忘录的内容中添加新行。

如果您不想这样做,那么您可以:

  • 设置WantReturns = FALSE。您仍然会得到enter键的KeyPress事件,但是备忘录不会添加新行作为响应(如果用户按Ctrl +Enter,仍然可以添加这些行)。

  • 保持WantReturns = TRUE,但将键设置为您想要抑制的任何键事件的值#0 (即阻止到达备注控件)。

后一种方法的示例可能如下所示:

代码语言:javascript
运行
复制
const
  NO_KEY = #0;
  ENTER  = #13;
begin
  case Key of
    ENTER : begin
              // Do something

              if NOT AddNewLine then
                Key := NO_KEY;
            end;
  end;
end;

注意: OnKeyPress事件只允许您响应关键事件的子集,特别是那些对应于CHAR类型值的事件(尽管这包括一些非打印字符,例如Tab和Backspace )。

如果希望或需要检测范围更广的非字符键的状态,或者可靠地处理键组合(如、Ctrl+Key、Shift+Key ),则需要查询这些修饰符键的状态。但是,在响应键事件时,修饰符键的状态可能已经更改,在这种情况下,更好的方法是使用另一个事件,它提供更多的键事件范围,包括键事件本身时的Shift键(和控制键)的状态,例如OnKeyDown

票数 10
EN

Stack Overflow用户

发布于 2015-05-25 22:42:49

您可以使用OnKeyDown事件,例如:

代码语言:javascript
运行
复制
procedure TForm.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_Return then
  begin
    // Your code here ...

    // set Key to 0 if you do not want the key
    // to be default-processed by the control...
    Key := 0 ;
  end;
end;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30446848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档