有一个更好的办法,你可以用bitbtn来完成你的工作,因为在bitbtn中有一个属性numglyphs,它可以指定位图的数量,最大数为4,这四个图分别表示在你的按钮:获得焦点,被按下,失去焦点,变灰时的位图,我想这四种状态应该满足你的要求了吧!

解决方案 »

  1.   

    不行,鼠标事件只有ONMOUSEMOVE,DOWN,UP啊,那怎么知道它移进图片,移出图片呢?难道要???楼上小虫所说的我TRY过,但按钮的四周总有一个边框,这可是我不想要的,我记得效果要像"安装Lotus123时底下那一排图形按钮一样"
      

  2.   

    一般利用鼠标事件。用BITBTN的属性也可以,象楼上所说的!
      

  3.   

    1、有类似的控件
    2、可以自己派生timage控件,加一些属性方法,重载一些东西就可以了
      

  4.   

    按钮上不能有边框(即不能像IE的那一排按钮那样)看来得采用复杂的手段? kuangning(郎之间)(穷人)(其实什么都不是) (  ) 信誉:100 1、有类似的控件
    2、可以自己派生timage控件,加一些属性方法,重载一些东西就可以了
      

  5.   

    我有,请和我联系。支持 ActionList. 
    e-mail:[email protected]
      

  6.   

    就像这样的按钮
    http://sd.88vip.com/images/THIS.jpg
      

  7.   

    我有,请和我联系。支持 ActionList. 
    e-mail:[email protected]
      

  8.   

    能够实现你所提出的'当鼠标移到一个图片上时,换成另一幅图片,当鼠标移出它时,再换回来'功能的按钮通常称为'多媒体'按钮. 我在制作软件封面时,常加上'开始','进入','退出'等'多媒体'按钮.可以用来制作'多媒体'按钮的组件,显然,必须满足以下几个条件:
    1. 此组件上面可以画图或贴图像;
    2. 它的边缘可以不出现; 
    3. 能响应OnMouseMove事件,当此事件出现时,表明鼠标正移到它上面;根据以上要求可知:
    * 普通的Tbutton类组件是不行的,因为button上无法画图,也无法使边缘不出现;
    * 但Tspeedbutton组件就能实现:
      1.贴图就是改变其gliph;
      2.要使其边缘可以不出现,只要将 flat属性设置为true即可;
      3.响应onMouseMove事件的功能则显然总是具有的;  但除此而外,还有别的组件也可以用来多媒体按钮,例如,最常用的就是利用Image组件.利用image组件制作'多媒体'按钮的好处在于它的边框本来就不存在的;由于没有边界,所以,只要把image上所贴图像的边缘颜色和它背景的颜色一样,你就可把按钮设计成为任意的形状.
      

  9.   

    可不可以说详细点呢?我也是这样想的,但出不来最常用的就是利用Image组件.利用image组件制作'多媒体'按钮的好处在于它的边框本来就不存在的;由于没有边界,所以,只要把image上所贴图像的边缘颜色和它背景的颜色一样,你就可把按钮设计成为任意的形状.
      

  10.   

    用image也可以
    Image1的OnMouseMove
      Image1.Picture.loadfromfile(picture1);Form1的OnMouseMove
      Image1.Picture.loadfromfile(picture2);
      

  11.   

    另外你也可以创建一个新的控件,继承TImage
    给他加入OnMouseLeave
    Type TMyImage=class(TImage);
    pravite
      FOnMouseLeave:TNotifyEvent;
      procedure CMMouseLeave(var Message:TMessage);message CM_MOUSELEAVE;published
      property
       OnMouseLeave:TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
    ......
    procedure TMyImage.CMMouseLeave(var Message:TMessage);
    begin
      inherited;
      if Assigned(FOnMouseLeave) then
        FOnMouseLeave(self);
    end;
      

  12.   

    用image可以实现,但对作图的要求就高了,多麻烦啊!
    用这个控件吧:1stClass
    如果你找不到,告诉我mail,给你发一个,还有其他的关于界面的控件(含有demo),能做出很漂亮的界面,可以一起发给你.