如题,注意不是鼠标停留一段时间显示提示,我要的是进入(即获得焦点)时马上显示提示信息。  
我自己写了个不对,达不到效果,这么写有什么不对?
procedure TForm1.Edit1Enter(Sender: TObject);
begin
  Edit1.ShowHint := True;
  SendMessage(Edit1.Handle, WM_MOUSEMOVE, Edit1.Left+10, Edit1.Top+10);
end;

解决方案 »

  1.   

    procedure TForm1.Edit1Enter(Sender: TObject);
    begin
     showmessage('进去拉');
    end;记得给分。问题很简单。
      

  2.   

    不知道楼主的意图是啥?从标题及主贴内容看,这个获得焦点应该是获得输入焦点,即楼主使用OnEnter事件正好能达到目的,但是不明白的同WM_MOUSEMOVE消息的使用,对于Edit的ShowHint应该发送的是CM_HINTSHOW消息,并且该消息的定义也不是太简单,大致为
    SendMessage(Handle,CM_HINTSHOW,0,LPHintInfo)
    //不清楚CM开头定义滴消息能否使用SendMessage来传递,通常使用Perform另外,个人理解为楼主所要的可能并百OnEnter事件当中处理,而是OnMouseEnter事件,不知道对否。不过很可惜TEdit类并未导出OnMouseEnter事件。
      

  3.   

    Application.HintPause
    好像是这个名字,你code insight一下就好其他同楼上
      

  4.   

    或者使用
    Application.HintPause:=0;
    那样的话就直接进入就会显示了。
      

  5.   

    to lovend(颓废之吻) 
    你不认为太简单了吗?!
    to unsigned(僵哥(当程序语言成为普及的第三语言之后……)) 
      SendMessage(Handle,CM_HINTSHOW,0,LPHintInfo);//我不会,能否写下
    to JavaD(一竿残照(生如夏花之绚烂,死若秋叶之静美))
      还是达不到我要的效果.
    to all:
      我要的效果是按TAB进入就能显示提示(鼠标不移上去),反正就是获得了焦点就要显示提示.
      

  6.   

    回复人: ak_2005(djg3412) ( ) 信誉:100  2005-07-09 23:34:00  得分: 0  
     
     
       to lovend(颓废之吻) 
    你不认为太简单了吗?!
    .....
    to all:
      我要的效果是按TAB进入就能显示提示(鼠标不移上去),反正就是获得了焦点就要显示提示.
    --------------------------------------
    你在回复之前试过了没有呢?其实解决起来就是这么简单,只不过是你脑子里有一个先入为主的想法认为它很复杂而已就是写在edit1的onenter事件里
      

  7.   

    那就不能用 hint
    可以考虑使用statusbar, 自己把提示显示到 statusbar 上。
      

  8.   

    to hellolongbin(一个人[终不似 少年游]) 
    晕,我试过了的啊.
    要是只让Edit显示hint很简单了,我要的效果是鼠标不一定非要移上去,反正就是获得焦点就显示hint,你试过才回帖好吗?!
      

  9.   

    楼上&&楼主:
    你怎么试的?代码贴出来看看,然后再告诉你为什么不行
      

  10.   

    你没说清楚是显示hint,都以为你只要得到进入消息就可以了呢,晕进入(即获得焦点)时马上显示提示信息采取僵哥的方法,将Application.HintPause:=0;就可以了
      

  11.   

    你按TAB键进去看它显不显示撒
    procedure TForm1.Edit1Enter(Sender: TObject);
    begin
      Edit1.ShowHint := True;
      Application.HintPause := 0;
    end;
      

  12.   

    嗯 这个问题  我以前有问过 结果 是没有人回答 合用的~~  其实就像QQ聊天窗口那样 空内容的时候 发送信息 就会自动提示 不能发空信息 不用鼠标移过去``````很多人建议我用label~~  哈看看有没有更好的方法  等~~~~~~~~
      

  13.   

    记号.我也要用到类似功能,就是当用户TAB激活或者鼠标点击edit时,提示只能限制输入的内容(数字)
      

  14.   

    原来是显示hint,晕,“提示提示”的,我一直以为显示提示消息呢这个问题还真不会
    关注,学习不过我想到一个替代的方法,就是用一个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;
      

  15.   

    记得有一个消息是判断当前控件是否得到焦点(不论是鼠标还是键盘),你可以overide该函数