如题,注意不是鼠标停留一段时间显示提示,我要的是进入(即获得焦点)时马上显示提示信息。
我自己写了个不对,达不到效果,这么写有什么不对?
procedure TForm1.Edit1Enter(Sender: TObject);
begin
Edit1.ShowHint := True;
SendMessage(Edit1.Handle, WM_MOUSEMOVE, Edit1.Left+10, Edit1.Top+10);
end;
我自己写了个不对,达不到效果,这么写有什么不对?
procedure TForm1.Edit1Enter(Sender: TObject);
begin
Edit1.ShowHint := True;
SendMessage(Edit1.Handle, WM_MOUSEMOVE, Edit1.Left+10, Edit1.Top+10);
end;
begin
showmessage('进去拉');
end;记得给分。问题很简单。
SendMessage(Handle,CM_HINTSHOW,0,LPHintInfo)
//不清楚CM开头定义滴消息能否使用SendMessage来传递,通常使用Perform另外,个人理解为楼主所要的可能并百OnEnter事件当中处理,而是OnMouseEnter事件,不知道对否。不过很可惜TEdit类并未导出OnMouseEnter事件。
好像是这个名字,你code insight一下就好其他同楼上
Application.HintPause:=0;
那样的话就直接进入就会显示了。
你不认为太简单了吗?!
to unsigned(僵哥(当程序语言成为普及的第三语言之后……))
SendMessage(Handle,CM_HINTSHOW,0,LPHintInfo);//我不会,能否写下
to JavaD(一竿残照(生如夏花之绚烂,死若秋叶之静美))
还是达不到我要的效果.
to all:
我要的效果是按TAB进入就能显示提示(鼠标不移上去),反正就是获得了焦点就要显示提示.
to lovend(颓废之吻)
你不认为太简单了吗?!
.....
to all:
我要的效果是按TAB进入就能显示提示(鼠标不移上去),反正就是获得了焦点就要显示提示.
--------------------------------------
你在回复之前试过了没有呢?其实解决起来就是这么简单,只不过是你脑子里有一个先入为主的想法认为它很复杂而已就是写在edit1的onenter事件里
可以考虑使用statusbar, 自己把提示显示到 statusbar 上。
晕,我试过了的啊.
要是只让Edit显示hint很简单了,我要的效果是鼠标不一定非要移上去,反正就是获得焦点就显示hint,你试过才回帖好吗?!
你怎么试的?代码贴出来看看,然后再告诉你为什么不行
procedure TForm1.Edit1Enter(Sender: TObject);
begin
Edit1.ShowHint := True;
Application.HintPause := 0;
end;
关注,学习不过我想到一个替代的方法,就是用一个label,color:=clInfoBk,visible:=false;然后
procedure TForm1.Edit1Enter(Sender: TObject);
begin
Label1.Visible:=true;
end;procedure TForm1.Edit1Exit(Sender: TObject);
begin
Label1.Visible:=false;
end;