注册 登录
编程论坛 Delphi论坛

超难!edit输入限制问题?部份只读?

zgjob 发布于 2008-07-18 17:48, 1922 次点击
" border="0" />
如何限制edit输入框中的输入??
要求是:
窗体启动时,edit中加载了一组数字如101001,
前面的101不允许用户修改???如何只允许用户修改后面三位001,且从101开始,后面最多只能输入三位数,
即edit输入框的最大长度为6

至今只看到一个医院方面的商业软件做到了这点,不知道各位高手们在delphi下有没有办法实现???
3 回复
#2
anthony6342008-07-18 18:55
delphi下实现很简单哈,响应Onchange事件就可以老
const
  EDT_MAXLENGTH = 6;

procedure TForm1.AfterConstruction();
begin
  inherited AfterConstruction();
  fStaticStr := 'abc';
  Edit1.MaxLength := EDT_MAXLENGTH;
  Edit1.Text := fStaticStr;
end;
// -----------------------------------------------------------------------------

procedure TForm1.Edit1Change(Sender: TObject);
begin
  if not AnsiStartsText(fStaticStr, Edit1.Text) then
  begin
    Edit1.Text := fStaticStr;
    Edit1.SelStart := Length(fStaticStr);
    Beep();
  end;
end;
#3
lisatisfy2008-07-25 16:51
嗯 。。但要use StrUtils
#4
feng1334132008-07-27 12:09
精妙的思路,学习了
1