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

如果做图片按钮???

楼主Rifhvk(Xscc.Com)2006-03-01 08:38:50 在 Delphi / VCL组件开发及应用 提问

图片按钮如何做??整个按钮就是图片组成的  
   
  image控件可以做么?  
   
   
   
  或者,button可以设计它的颜色和4边框么?? 问题点数:20、回复次数:4Top

1 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-01 08:56:27 得分 0

添加ToolBar控件,右键增加新按钮,那个按钮可以从Image或者ImageList中取图片  
   
  就是工具栏按钮了Top

2 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-01 08:57:50 得分 0

至于Button,有很多三方控件的  
  去www.2ccc.com的三方控件里面去找Top

3 楼stonezhy(iAiMuMu)回复于 2006-03-01 09:02:55 得分 0

SpeedButton   倒是可以实现“整个按钮就是图片组成的”,不过效果不好,效果好的话还得用第三方控件Top

4 楼Rifhvk(Xscc.Com)回复于 2006-03-01 09:16:15 得分 0

我试了下,image控件是可以的。  
   
  但是有个问题就是,我用的是   bsnone窗体,再加   一段可拖动放大窗体的代码,然后image的鼠标事件就无效了  
   
  可拖动放大窗体的代码如下:  
  private  
          {   Private   declarations   }  
               
                  procedure   WMNCHitTest(var   msg   :   TWMNCHitTest);   message   WM_NCHITTEST;  
   
  。。。。。。  
   
  procedure   TForm1.WMNCHitTest(var   msg   :   TWMNCHitTest);  
  const   v=6;       //border       width  
  var       p:TPoint;  
  begin  
      Inherited;  
          p:=Point(msg.XPos,msg.YPos);  
          p:=ScreenToClient(p);  
  if       PtInRect(Rect(0,0,v,v),p)       then  
                  Msg.Result:=HTTOPLEFT  
  else       if       PtInRect(Rect(Width-v,Height-v,Width,Height),p)       then  
                  Msg.Result:=HTBOTTOMRIGHT  
  else       if       PtInRect(Rect(Width-v,0,Width,v),p)       then  
                  Msg.Result:=HTTOPRIGHT  
  else       if       PtInRect(Rect(0,Height-v,v,Height),p)       then  
                  Msg.Result:=HTBOTTOMLEFT  
  else       if       PtInRect(Rect(v,0,Width-v,v),p)       then  
                  Msg.Result:=HTTOP  
  else       if       PtInRect(Rect(0,v,v,Height-v),p)       then  
                  Msg.Result:=HTLEFT  
  else       if       PtInRect(Rect(Width-v,v,Width,Height-v),p)       then  
                  Msg.Result:=HTRIGHT  
  else       if       PtInRect(Rect(v,Height-v,Width-v,Height),p)       then  
                  Msg.Result:=HTBOTTOM  
  else  
                  Msg.Result:=HTCAPTION;  
  end;  
   
   
  那如何解决呢???鼠标事件扑捉冲突?Top

相关问题

  • 按钮图片
  • 图片按钮
  • 请问如何做图片按钮(VB.net)
  • 求按钮图片
  • 怎么把一张图片做成按钮的效果,怎么美化按钮?
  • 请推荐做图片按钮的小工具
  • 提交按钮用图片代替,要怎么做?急!!
  • C#里头用图片做按钮怎么写啊?
  • 怎么做到两张图片形成按钮效果..............急
  • 把一张图片如何做成按钮一样的效果

关键词

  • 控件
  • 按钮
  • 窗体
  • rect
  • 图片
  • then msg
  • height
  • msg
  • width
  • result

得分解答快速导航

  • 帖主:Rifhvk

相关链接

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

广告也精彩

反馈

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