背景是这样的,当一个edit失去焦点时(onexit)事件,我对其中的内容进行了检验,当输入不正确时(如为空)我就弹出一个提示信息,并将焦点再次放在这个edit上,但这个界面上同时有一个“退出”的按扭,当按下这个按钮时,就不必要进行检验了,直接退出就好,但现在的情况是如果不在edit里面输入正确的值,就退不出来,用户不满意!我就想在edit失去焦点时,先检验一下是不是因为“退出”按钮按下了,如果是,那么我就不再对其中的内容进行检验,直接退出就好了。
调试欢乐多
if FindVCLWindow(mouse.CursorPos).Name = 'BtnClose' then
Exit;
if Edit1.Text = '' then
begin
ShowMessage('can''t exit!');
Edit1.SetFocus;
end;
{检验Edit数据正确与否的代码}
我再去试试大家的方法,不过我后用将退出的按钮改为 speedbutton后这个问题也得到了比较好的解决,好象是speedbutton不会去占用别的控件的焦点吧。
结贴。