太简单了,
用API画个圆 ,
然后指定圆为范围

解决方案 »

  1.   

    很简单啊,其实按钮只是一个在窗口上画的图而已当然可以使用api函数来画出一个圆形的按钮,无论是圆形还是奇形怪状都可以
      

  2.   

    最简单的办法:准备一个圆形按钮的位图,设定好透明背景颜色,然后在form上放一个image,装入刚才准备的图象,transparent设为true,最后在image的onclick事件中写要运行的代码。
      

  3.   

    dengzhen(夜深独座) 的方法比较方便,不过热区仍是矩形最好用 SetWindowRgn 指定一个外形(圆只是一种),至于按钮,需要是从 TWinControl 继承的控件才行,也就是要有 HWND Handle 的才行这样作之后,热区也改变了,是真正的异形按钮  当然  还要处理一些诸如绘制外观的问题  这些都比较简单
    更简单的方法是找一个现成的控件   网上很多
      

  4.   

    to SCUM(人渣) 兄台:
       可否具体介绍一下步骤及可能遇到的相关问题?小弟在这方面的经验不多!!!!!!!
       相关的一些API我也知道些,但不知应怎样组合用它们!!即:先后步骤
       比如:用API画出的椭圆怎么和BUTTON的形状联系起来????????????????
       非常感谢!!!!!分是一定要加的....其它兄台如有这方面的经验,不妨也介绍一下!!!!!!!
      
    分少我还可以加!我还有好几百分呢!!!!!!   
      
      

  5.   

    这个问题你可以看delphi源代码的。那个speedbutton就完全是画出来的,当然了,它比较复杂。
    要考虑的问题是:按下去和浮上来,上,下,左,右的光影变化(其实就是上和下,左和右的颜色对调),以及正面的轻微位移。除了这,再也没什么了。建议你从一个三角形的做起。
      

  6.   

    谢谢BigBen(江南草)兄:
       我在等等,在开阔一下视野......
       待会儿和其他几位兄台一块儿加分!!!!!!!!!!!!!!!!!!1
      

  7.   

    BigBen(江南草):
        如果直接画为什么还要继承TButton????
      

  8.   

    没说要继承tbutton啊。
    继承tgraphcontrol就可以了。连twincontrol都不必要。
      

  9.   

    为什么不看看vb,vc版的贴子或者看看程序员光盘中的源码!
      

  10.   

    sorry 我还没有"程序员光盘中的源码"
      但我搜到了一个控件(带源码),只是小弟不才看着看着就乱了,不知从何入手.
      我下的那个是继承tbutton的!!!!
      

  11.   

    在delphi盒子里下载就可以吗。
      

  12.   

    di2000()
      在delphi盒子里下载就可以吗!!!是啥意思??????