在OnExit里写:
procedure TForm1.MaskEdit1Exit(Sender: TObject);
begin
if ... then
begin
showmessage('error');
MaskEdit1.SetFocus ; //重新获得焦点
end;
end;
procedure TForm1.MaskEdit1Exit(Sender: TObject);
begin
if ... then
begin
showmessage('error');
MaskEdit1.SetFocus ; //重新获得焦点
end;
end;
解决方案 »
- 问个小问题,如何通过 TRect 自动计算字体大小?
- 怎么从一个txt文件按格式读出数据
- 当打开多个form时,如何设置才能把所需窗体弹到最前面
- 关于IE的问题
- combobox的内容如何刷新(其值取自数据库)
- 请问各位高手Toolbar中button里字体的大小,字体的类型和颜色怎么改变?
- 用一个ADOQUERY做多次不同SQL语句的查询,分别做一次时无问题,但轮着做就会出错
- 高分求在NT及2000/XP里获得RING0的方法。 -----------------------------------------------------------------------------------------
- 如何取服务器时钟?
- QuickReport为什么不能用自定义纸张打印啊?
- 用canvas做打印票据时,怎样才能实现先预览后打印?
- 如何将数字如8转换为字符串001?
procedure TForm1.MaskEdit1Exit(Sender: TObject);
var
str1,str2,str3:string;
begin
str1:=copy(MaskEdit1.text,1,3); //假设每一格占三个字符
str2:=copy(MaskEdit1.text,5,3);
str3:=copy(MaskEdit1.text,9,3);
if str1=' ' then
begin
showmessage('第一格不能为空');
MaskEdit1.SetFocus ; //重新获得焦点
end
else if str2=' ' then
begin
showmessage('第二格不能为空');
MaskEdit1.SetFocus ; //重新获得焦点
end
else if str3=' ' then
begin
showmessage('第三格不能为空');
MaskEdit1.SetFocus ; //重新获得焦点
end;
end;