自己写OnHint事件,设定事件PreView,然后用自己的窗口来代替Hint条,最后不要调用缺省函数
(不要写inherited)

解决方案 »

  1.   

    多行提示比较好实现:
    只要在OnHint事件中写: button1.hint:='第一行提示'+chr(10)+chr(13)+'第二行提示'; 
    以上是两行提示,以此类推。
    若要改变形状的话,可以使用控件,推荐LMD 
    下载链接:http://www.torry.net/vcl/packs/huge/lmd50se_d5.zip
      

  2.   

    delphi开发指南有介绍,上面的是创建一个THintWindow的派生类,重载一下ActivateHint
    这里用的是CreateRoundRectRgn创建区域,然后用SetWindowRgn使区域窗口相连,这可以改变
    hint的图形重载一下Paint;建好类后
    可以
    Application.ShowHint:=false;
    HintWindowClass:=你建的类
    Application.ShowHint:=true;