你尽可以自己作,简单极了!
首先你的确定做成什么样子的,用CreateaRgn...创建你想要的形状.
然后将按钮(其实可以是任意窗体)设置成该形状.SetWindowRgn(...).

解决方案 »

  1.   

    对,程序员大本营的确有!!,但是假如你想自己做的话,有一个简单的方法,就是:放一个Image控件,再在其中放入你喜欢的图片,在Image的 mousedown事件中写入鼠标按下后想出现的图片和按下后的事件就可以了。
      

  2.   

    re: whoo
     具体点好吗?一定给分
      

  3.   

    re: whoo
    具体点好吗?一定给分 
    createargn..??????
    setwindowrgn??????????  
      

  4.   

    Region Functions
    The following functions are used with regions. 
     
    CombineRgn  
    CreateEllipticRgn  
    CreateEllipticRgnIndirect  
    CreatePolygonRgn  
    CreatePolyPolygonRgn  
    CreateRectRgn  
    CreateRectRgnIndirect  
    CreateRoundRectRgn  
    EqualRgn  
    ExtCreateRegion  
    FillRgn  
    FrameRgn  
    GetPolyFillMode  
    GetRegionData  
    GetRgnBox  
    InvertRgn  
    OffsetRgn  
    PaintRgn  
    PtInRegion  
    RectInRegion  
    SetPolyFillMode   
    SetRectRgn 
    SetWindowRgn
    The SetWindowRgn function sets the window region of a window. The window region determines the area within the window where the system permits drawing. The system does not display any portion of a window that lies outside of the window region int SetWindowRgn(
      HWND hWnd,     // handle to window whose window region is to be set
      HRGN hRgn,     // handle to region
      BOOL bRedraw   // window redraw flag
    );
     
    Parameters
    hWnd 
    Handle to the window whose window region is to be set. 
    hRgn 
    Handle to a region. The function sets the window region of the window to this region. 
    If hRgn is NULL, the function sets the window region to NULL. bRedraw 
    Boolean value that specifies whether the system redraws the window after setting the window region. If bRedraw is TRUE, the system does so; otherwise, it does not. 
    Typically, you set bRedraw to TRUE if the window is visible. 
      

  5.   

    确实是按whoo(谁)说的创建,在看Vcl源代码时也看到类似的语句,但要按具体的图片的形状做成按钮,那区域的范围怎么取得,有这方面的代码吗?
    按Ask100(问题)的方法是可以,问题是区域是矩形的