如何使输入框得到焦点且选中文本框代码如下:
unit ULogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TfrmLogin = class(TForm)
lbllUser: TLabel;
lblPasswd: TLabel;
edtUser: TEdit;
edtPasswd: TEdit;
btnUser: TButton;
btnCancel: TButton;
procedure edtUserChange(Sender: TObject);
procedure edtPasswdKeyPress(Sender: TObject; var Key: Char);
procedure btnCancelClick(Sender: TObject);
procedure btnUserClick(Sender: TObject);
procedure EditMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure EditEnter(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmLogin: TfrmLogin;
implementation
{$R *.dfm}
procedure TfrmLogin.edtUserChange(Sender: TObject);
begin
if Length(edtUser.Text) = 6 then
begin
edtPasswd.SetFocus;
end;
end;
procedure TfrmLogin.edtPasswdKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['1'..'9',#8]) then
begin
Key := #0;
messagebeep(1);
end;
end;
procedure TfrmLogin.btnCancelClick(Sender: TObject);
begin
edtUser.Text := '';
edtPasswd.Text := '';
edtUser.SetFocus;
end;
procedure TfrmLogin.btnUserClick(Sender: TObject);
begin
if (edtUser.Text = 'usname') and (edtPasswd.Text = '12345678') then
begin
ShowMessage('欢迎进入本系统');
Close;
end
else
begin
ShowMessage('用户名或密码错误,请重新输入');
edtUser.SetFocus;
end;
end;
procedure TfrmLogin.EditMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
EditEnter(Sender);
end;
procedure TfrmLogin.EditEnter(Sender: TObject);
begin
if (Sender is TEdit) then
begin
(Sender as TEdit).SetFocus;
(Sender as TEdit).SelectAll;
end
else
begin
exit;
end;
end;
procedure TfrmLogin.FormCreate(Sender: TObject);
var
i: Integer;
begin
for i := 0 to ComponentCount - 1 do
begin
if Components[i] is TEdit then
begin
(Components[i] as TEdit).OnMouseMove := EditMouseMove;
end;
end;
end;
end.