Delphi中在Edit这个控件里怎么让光标始终停留在数据后面?而不是每个更新数据返回前面
3个回答
展开全部
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Edit1.selStart:= length(Edit1.Text);
end;
应该写这吧
不过这种控制实在是不人性化
确实KEYDOWN只能在输入时触发,但是根据楼主的要求,很明显是要求输入时候做此限制,他的意思应该是输入的时候不可以随意调整光标位置,如果通过代码赋值,根本不会存在此需求,另外之所以写在keydown里面而不写在OnChang里面,可以自己做个简单的测试对比下,结果很快就可以分辨出来了
Shift: TShiftState);
begin
Edit1.selStart:= length(Edit1.Text);
end;
应该写这吧
不过这种控制实在是不人性化
确实KEYDOWN只能在输入时触发,但是根据楼主的要求,很明显是要求输入时候做此限制,他的意思应该是输入的时候不可以随意调整光标位置,如果通过代码赋值,根本不会存在此需求,另外之所以写在keydown里面而不写在OnChang里面,可以自己做个简单的测试对比下,结果很快就可以分辨出来了
展开全部
楼上的回答不正确,KeyDown只能在Edit通过键盘输入时触发,如果是通过代码给Edit赋值的话,你的光标就不能到最后了。另外一种情况是,大部份情况下,用键盘输入时,光标本来就是在最后的,很少情况须要在中间插入字符。支持123avc123,任何情况下都能把光标定在最后,除非焦点不在Edit上,看不到光标时。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不太明白你的意思,所以这行代码不知道是不是你所要的。写在edit的chang事件里
procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit1.SelStart:=Length(Edit1.Text);
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit1.SelStart:=Length(Edit1.Text);
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询