CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

求助:请问如何实现图片按钮的三态效果

楼主cgj3721(cgj3721)2003-02-02 22:47:01 在 Delphi / VCL组件开发及应用 提问

我在自己尝试编程,我想实现按钮的三态,怎么也不能成功,请教做法!  
          我的想法是这样的:   在没有选中按钮前,就显示其up时的图片,当鼠标按下去就显示下一张图片,松开不点击又恢复第一张图片,点击了就变成最后一张图片.  
   
  希望大家能给与程序或例子!!!  
   
   
  非常感谢!! 问题点数:0、回复次数:8Top

1 楼cgj3721(cgj3721)回复于 2003-02-03 21:26:08 得分 0

请高手帮忙Top

2 楼rouqing(*冰雨&双子座奇缘*)回复于 2003-02-03 23:06:43 得分 0

这样吧,自己做个res,连接到主程序吧,然后在不同的鼠标事件下载入资源图片吧Top

3 楼liping3388()回复于 2003-02-04 22:04:08 得分 0

 
    如下    
  procedure   TForm1.Button1MouseDown(Sender:   TObject;   Button:   TMouseButton;Shift:   TShiftState;   X,   Y:   Integer);  
  begin  
  image1.Picture.LoadFromFile('e:\新建文件1夹\2.jpg');  
  end;  
   
  procedure   TForm1.Button1MouseUp(Sender:   TObject;   Button:   TMouseButton;Shift:   TShiftState;   X,   Y:   Integer);  
  begin  
        image1.Picture.LoadFromFile('e:\新建文件1夹\1.jpg');  
  end;  
  Top

4 楼Patsy(术子米德)回复于 2003-02-05 14:01:44 得分 0

jpegUp,jpegMove,jpegClick从文件或RES中加载  
   
  procedre   OnBitBtnMove;  
  begin  
      BitBtn.Graph.Assign(jpegUp);  
  end;  
   
  procedure   OnBitBtnClick;  
  begin  
      BitBtn.Graph.Assign(jpegClick);  
  end;  
   
  procedure   OnFormMove;  
  begin  
      BitBtn.Grahp.Assign(jpegMove);  
  end;  
   
  我上次做的时候就是按这个思路实现的,供你参考,还有些细节你自己解决应该没问题了吧Top

5 楼cloud_leonhart(阿萌)回复于 2003-02-05 23:08:27 得分 0

我想楼主是想实现任意图形都可以做按扭的效果吧,就想在做WEB一样自己做一个图片然后把他做成BUTTON,上面几位朋友的方法都不错,但是都有一个共同点就是是用BUTTON控件实现的,这样对实现任意形状的要求就没有达到了,因为BUTTON被限制了只能是RECTANGLE的,建议你可以用这样的方法,就是利用IMAGE的控件来实现,至于怎么判断UP/DOWN/OUT,因为IMAGE控件有提供这样的事件,但是如果单纯利用那些EVENT的话会有个问题就是,IMAGE控件里的图片的重复读取,就是如果你是这样设计的,当鼠标移动到规定的X,Y以内就读取A图,移动到X,Y外面就读取B图,但是如果鼠标在X,Y范围内一直移动呢这样就会出现反复读取A图的现象,所以你要设一个全局变量用来控制判断当前鼠标是已经读取过A图了,还是没有读取过Top

6 楼supergecko(超级昆虫)回复于 2003-02-05 23:38:27 得分 0

最好在formcreate事件中打开双缓冲,form1.DoubleBuffered:=true,那样图片就不会出现闪动了.  
  不过如果鼠标移动按钮上呢怎么样判断Top

7 楼cloud_leonhart(阿萌)回复于 2003-02-07 22:04:28 得分 0

可以根据当前鼠标的坐标判断鼠标是否在按纽上Top

8 楼lxlsky(lxl)回复于 2003-02-08 00:54:06 得分 0

我是用image做的!Top

相关问题

  • 实现图片的按钮效果
  • 怎么把一张图片做成按钮的效果,怎么美化按钮?
  • 怎样取消按钮上的图片的透明效果?
  • 怎么做到两张图片形成按钮效果..............急
  • 把一张图片如何做成按钮一样的效果
  • 按钮图片
  • 图片按钮
  • 求按钮图片
  • 如何制作一个类似IE5的三态下压按钮
  • 请教各位创建三态下压按钮

关键词

  • 文件
  • 按钮
  • 图片
  • 实现
  • assign
  • begin bitbtn
  • button
  • procedure

得分解答快速导航

  • 帖主:cgj3721

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo