用Hint取代Messagebox来提示错误信息

现在很多网站的注册过程,如果某个必填项目没填会在边上出现个提示信息提示你这个地方不能为空

我觉得这种模式比用Messagebox好,哪里错了一目了然

以往在提交一条新纪录的时候都要做必填数据检查,上面那种模式可以应用到这边来

procedure Showmyhint(AControl: TControl; const AHint: string);
var
  pt: TPoint;
begin
  Acontrol.Hint:
=Ahint;
  pt :
= AControl.ClientToScreen(Point(09));
  SetCursorPos(pt.x, pt.y);
  Application.ActivateHint(pt);
end;

用这过程取代BeforePost数据检查的错误信息提示,效果不错

if edit.text='' then showmyhint(edit,'该项目不能为空');

但也不是很完美,主要是

1.触发这过程后鼠标不能移动,不然显示不了Hint

2.控件的Hint被赋值后没清理掉

有空的时候再改改

原文地址:https://www.cnblogs.com/mydba/p/1434960.html