如何实现在窗口其它地方点一下鼠标而使当前的正在输入的Edit失去焦点?
如题 问题点数:50、回复次数:3Top
1 楼jishiping(JSP 季世平)回复于 2004-07-04 20:57:39 得分 50
在Form的事件OnClick里写代码,
void __fastcall TForm1::FormClick(TObject *Sender)
{
if (dynamic_cast<TEdit*>(ActiveControl) != NULL)
ActiveControl = NULL;
}Top
2 楼silverpot(银斑蝶)回复于 2004-07-04 21:00:02 得分 0
如果点在其它组件如Label等不可获得焦点的组件上呢?Top
3 楼jishiping(JSP 季世平)回复于 2004-07-05 09:44:09 得分 0
放一个TApplicationEvents控件在Form上,然后在这个控件的事件OnMessage里写代码:
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
if (Msg.message==WM_LBUTTONDOWN && dynamic_cast<
TEdit*>(ActiveControl)!=NULL) {
ActiveControl = FindVCLWindow(
ScreenToClient(Mouse->CursorPos));
}
}Top




