小问题,在线等待!怎样自动选择Edit里的内容?(10分)

  • 主题发起人 主题发起人 eryu
  • 开始时间 开始时间
E

eryu

Unregistered / Unconfirmed
GUEST, unregistred user!
鼠标移到EDIT里,里面的字符串就被自动选中,
我已经把AutoSelect设为true了,但还是不行啊。
请问应该怎么做?谢谢!
 
TEdit的Mouse事件:
procedure TForm1.Edit1MouseMove(Sender: TObject;
Shift: TShiftState;
X,
Y: Integer);
begin
Edit1.SelectAll;
end;
 
是的,基本解决了,只不过现在是在EDIT里点一下,文字被自动选上,能不能移上去的时候
就自动选择?(不行就算了,这样也可以。)
另外我还想问一下,为什么autoselect设为true了不行,那它到底起什么作用的啊?
 
1.
autoselect应该就可以了,如不行,是因为它没有获得焦点。
可以在Form的OnShow事件中:
procedure TForm1.FormShow(Sender: TObject);
begin
Edit1.SetFocus;
//或者干脆Edit1.SelectAll;
end;

2.查Delphi的帮助!
Determines whether all the text in the edit control is automatically selected when the control gets focus.
property AutoSelect: Boolean;
Description
Set AutoSelect to select all the text when the edit control gets focus. AutoSelect only applies to single-line edit controls.
Use AutoSelect when the user is more likely to replace the text in the edit control than to append to it.
 
唉呀,不行啊,现在才发现问题!!!
在EDIT里点了以后,被自动选择了,但再点再点再点……始终是被自动选择上的,
除了按键盘方向键外,没法取消选中状态了!!
那这样不行啊!!!!!!
 
用selstart=o,
sellength=length(edit.text)试试
 
你没说清楚。
var
Form1: TForm1;
Selected: boolean=false;
implementation
{$R *.DFM}
procedure TForm1.Edit1MouseMove(Sender: TObject;
Shift: TShiftState;
X,
Y: Integer);
begin
if not Selected then
Edit1.SelectAll;
end;

procedure TForm1.Edit1MouseDown(Sender: TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
begin
Selected := true;
end;

procedure TForm1.FormMouseMove(Sender: TObject;
Shift: TShiftState;
X,
Y: Integer);
begin
Selected := false;
end;

end.
 
奇怪,还是不行啊,
移上去后不能自动选上,点下后也不能自动选上,
 
你该想一下我为什么这样写,你的edit是直接放在form上的吗?
 
啊,可以了,
是我看错了。
不好意思,马上给你加分。
 
接受答案了.
 
后退
顶部