2

我尝试让一个新项目添加一个 TEdit 和一个 TButton。将 Edit1.Text 设置为“这是一条测试消息”。并向按钮添加一个事件:

procedure TForm7.Button1Click(Sender: TObject);
begin
  Edit1.SelStart := 5;
  Edit1.SelLength := 5;
end;

单击按钮时未选择任何内容。有人可以解释为什么以及如何选择文本的某些部分吗?

问候罗兰

4

1 回答 1

9

它按预期工作,但是由于您的按钮通过单击它窃取了焦点,因此您尝试再次将那个编辑框重新聚焦。并且通过聚焦编辑框,默认选择其所有文本。这是一个简单的证明,如果编辑框在选择时具有焦点,则选择文本:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.SetFocus;
  Edit1.SelStart := 5;
  Edit1.SelLength := 5;
end;
于 2013-09-10T08:15:43.010 回答