各位大虾,先帮个小忙,再给分!!
  如何解决这个问题,当把鼠标移到一个button、panel、等等上,显示出一个提示;
 如当我把鼠标移到button1上,就会有个小提示框,显示出‘鼠标指向button1’?
我只想问改用什么事件来响应?

解决方案 »

  1.   

    设置button的ShowHint为True,设置button的Hint为‘鼠标指向button1’。
      

  2.   

    对不起,楼上的兄弟,这种方法,我知道。但觉得他不好,我想用一个过程,再一个icon上显示自己要说的话,过程写出来了(参考资料而写),但不知到使用那个事件来响应,我用了onMoseMove可是不行啊!!
      

  3.   

    hint属性,设置button的 showhint属性 为true;
      

  4.   

    在onMouseMove是显示一个新的窗体?
    感觉有点小题大作
      

  5.   

    procedure ShowBalloonTip(Control: TWinControl; Icon: integer; Title: pchar; Text:PWideChar);const
      TOOLTIPS_CLASS = 'tooltips_class32';
      TTS_ALWAYSTIP = $01;
      TTS_NOPREFIX = $02;
      TTS_BALLOON = $40;
      TTF_SUBCLASS = $0010;
      TTF_TRANSPARENT = $0100;
      TTF_CENTERTIP = $0002;
      TTM_ADDTOOL = $0400 + 50;
      TTM_SETTITLE = (WM_USER + 32);
      ICC_WIN95_CLASSES = $000000FF;
    type
      ToolInfo = packed record
      cbSize: integer;
      uFlags: integer;
      hwnd: THandle;
      uId: integer;
      rect: TRect;
      hinst: THandle;
      lpszText: PWideChar;
      lParam: integer;
    end;
    var
      hWndTip: THandle;
      ti: ToolInfo;
      hWnd: THandle;
    begin
      hWnd := Control.Handle;
      hWndTip := CreateWindow(TOOLTIPS_CLASS, nil,
      WS_POPUP or TTS_NOPREFIX or TTS_BALLOON or TTS_ALWAYSTIP,0, 0, 0, 0, hWnd, 0, HInstance, nil);
      if hWndTip <> 0 then
        begin
          SetWindowPos(hWndTip, HWND_TOPMOST, 0, 0, 0, 0,
          SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
          ti.cbSize := SizeOf(ti);
          ti.uFlags := TTF_CENTERTIP or TTF_TRANSPARENT or TTF_SUBCLASS;
          ti.hwnd := hWnd;
          ti.lpszText := Text;
          Windows.GetClientRect(hWnd, ti.rect);
          SendMessage(hWndTip, TTM_ADDTOOL, 1, integer(@ti));
          SendMessage(hWndTip, TTM_SETTITLE, Icon mod 4, Integer(Title));
        end;
    end;我用下面测试的!成功的。
    procedure Tf_main.BitBtn1Click(Sender: TObject);
    begin
       ShowBalloonTip(BitBtn1, 1, 'Title','您想点击BitBtn1吗?');
    end;
    可是我想当鼠标移到BitBtn1上的时候,能显示‘您想点击BitBtn1吗?’,怎么实现?
      

  6.   

    dypher(dypher) 已经告诉你了.
      

  7.   

    procedure WndProc(var Message : TMessage); override;
    procedure TForm1.WndProc(var Message : TMessage);
    begin
     if Message.LParam = Longint(Button1) then
     begin
        if (Message.Msg = CM_MOUSEENTER) then
        ShowBalloonTip(BitBtn1, 1, 'Title','您想点击BitBtn1吗?');
     end;
    inherited WndProc(Message);
    end;
      

  8.   

    ShowHint有什么不好? 不明白
      

  9.   

    ShowHint没什么不好,尽管用,甭有面子,接分
      

  10.   

    你可以试试zjybestzjybest(zjybestzjybest) 的方法
      

  11.   

    设置button的ShowHint为True,设置button的Hint为‘鼠标指向button1’
    另外,事件可以为onMouseMove或onMouseEnter;
      

  12.   

    我用了onMoseMove可是不行啊——————————————————————————??在具體的按鈕或panel的onmousemove事件里寫
    應該好用的!!!
      

  13.   

    procedure TForm1.BitBtn1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
       ShowBalloonTip(BitBtn1, 1, 'Title','您想点击BitBtn1吗?');
    end;
      

  14.   

    procedure TForm1.BitBtn1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
       ShowBalloonTip(BitBtn1, 1, 'Title','您想点击BitBtn1吗?');
    end;