关于edit一个光标定位问题,selstart有bug?(30分)

  • 主题发起人 主题发起人 thdelphi
  • 开始时间 开始时间
T

thdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
在窗体上放置一个edit1,写其onKeyDown代码:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_up then
edit1.SelStart:=length(edit1.Text);
end;
目的是当用户按向上的方向键时不让光标向左移动,但为何总是向左移动一个字符的位置?
 
应该
if key=vk_up then
key:=0;
这样可以实现当用户按向上的方向键时不让光标向左移动
 
PiPi:
你的方法很好,我给您分,但你知道为何用selstart就不行?
 
接受答案了.
 
因为
SelStart:=length(edit1.Text);会移动到最末尾,然后响应up键,回到倒数第二个位置
 
后退
顶部