如何实现像 windows mediaplay 9 或是 realone 那样的图片按钮?而且是3态的?
帮助完美解答的一定重重酬谢!

解决方案 »

  1.   

    使用三套不同的图标放到三个imagelist中,在按钮属性中分别设置,image,hotimage等属性就可以了
      

  2.   

    我懒得写了,看看《DELPHI高手突破》,有详细的讲述
    (推销书籍的家伙,嘻嘻)
      

  3.   

    1:借助第三方控件
    http://www.51delphi.com
    http://www.codestudy.net
    2:自己用做图工具做,如:
    IconCool Editor
    3:同意: warton(没有中文名) 的方法。
    有问题请发信息到我的E-mail:[email protected]
      

  4.   

    实际上是用图片做按钮,你用一个Image控件,在image的OnMouseDown,OnMouseOver,OnMouseUp事件中写代码!
    先做三张图片.bmp:
    down.bmp--绿色
    move.bmp--红色
    normal.bmp--兰色procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      Image1.Picture.LoadFromFile('E:\图标按钮\down.bmp');
    end;procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      判断当前鼠标是否在image中
      if (X>5) and (X<Image1.Width-5) and (Y>5) and (Y<Image1.Height-5)  then
      Image1.Picture.LoadFromFile('E:\图标按钮\move.bmp')
      else
      Image1.Picture.LoadFromFile('E:\图标按钮\normal.bmp')
    end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      Image1.Picture.LoadFromFile('E:\图标按钮\move.bmp');
    end;不过这样做有点小BUG,就是当鼠标快速在Image上移动过的时候会有点小问题!
    也就是在判断鼠标是否在Image中的方法需要改进,不知道哪位大侠能够有好的方法告知?
    Email:[email protected]
      

  5.   

    在按钮属性中分别设置,image,hotimage等属性就可以了??
    这个要怎么设置呢,我在BUTTON的属性里没有找到image和hotimage属性啊,谢谢!