(我只懂6.0)用一个Label和四个Line,四个Line上下左右,原始上左白,下右黑,Label_MoseMove事件中上左黑,下右白。就能够实现了。(黑白可能反了)

解决方案 »

  1.   

    draweged可以画出线条比用line要好我的就是那么做的
      

  2.   

    see
    http://www.vbcity.com/pubs/article.asp?alias=flatbuttonhttp://www.zarr.net/vb/download/codedetail.asp?code=44
      

  3.   

    其实最好的就是TOOLBAR了,设计好了看起来就会爽的很!接分
      

  4.   

    很简单的,用第三方控件就行了
    SmartXpButton.ocx
      

  5.   

    用一个LABEl设置其属性就行了啊,或者通过画线条方式自己画然后再设边框风格等等,都试试,肯定可以搞定的
      

  6.   

    用lable加线 或 直接用图片!
      

  7.   

    Form上放一个PictureBox,设置它的BorderStyle=0,然后帖贴以下程序(可以到我的主页上下载平面按钮控件,解压出Form10.ocx,那个就是了,支持背景色,字体等属性,http://junwhj.51.net/):Option ExplicitPrivate Declare Function DrawEdge Lib "user32" (ByVal hdc As Long, qrc As RECT, ByVal edge As Long, ByVal grfFlags As Long) As Long
    Private Declare Function GetClientRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
    Private Declare Function SetCapture Lib "user32" (ByVal hWnd As Long) As Long
    Private Declare Function ReleaseCapture Lib "user32" () As LongPrivate Const BF_TOP = &H2
    Private Const BF_LEFT = &H1
    Private Const BF_RIGHT = &H4
    Private Const BF_BOTTOM = &H8
    Private Const BF_RECT = (BF_LEFT Or BF_TOP Or BF_RIGHT Or BF_BOTTOM)Private Const BDR_RAISEDINNER = &H4
    Private Const BDR_SUNKENOUTER = &H2Private Type RECT
            Left As Long
            Top As Long
            Right As Long
            Bottom As Long
    End TypePrivate rc As RECTPrivate Sub Form_Load()
        Picture1.AutoRedraw = True
    End SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
        GetClientRect Picture1.hWnd, rc
        If x > 0 And x < Picture1.ScaleWidth And y > 0 And y < Picture1.ScaleHeight Then
            DrawEdge Picture1.hdc, rc, BDR_RAISEDINNER, BF_RECT
            Picture1.Refresh
            SetCapture Picture1.hWnd
        Else
            Picture1.Cls
            ReleaseCapture
        End If
    End SubPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
        DrawEdge Picture1.hdc, rc, BDR_SUNKENOUTER, BF_RECT
        Picture1.Refresh
    End SubPrivate Sub Picture1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
        DrawEdge Picture1.hdc, rc, BDR_RAISEDINNER, BF_RECT
        Picture1.Refresh
    End Sub
      

  8.   

    SmartXpButton.ocx这个控件就是我们以前用的,但是有个小缺陷,不象一般的按钮按一下只激发一个事件,当鼠标按上以后会一直响应,并且不能获得焦点!我想知道是否可以自己添加控件的属性,具体如何添加,还请高手告知这方面的相关资料。
      

  9.   

    我同意 bob008的看法。用TOOLSTAR作,将这个封装起来。当新建几个时会很方便的。
      

  10.   

    SmartXpButton.ocx这个控件问题很大,例如在某些机器上会出现"Cannot create ActiveX Object"的错误,还有输入的CaptionText只会显示一半
      

  11.   

    用flatButton
    扁平按钮控件到处都有!上网搜索一下就ok
      

  12.   

    giggs1984()   给我看看把
      

  13.   

    请用如下代码一试:Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)        If X < 0 Or Y < 0 Or X > Text1.width Or Y > Text1.height Then        ReleaseCapture
            Me.Text1.ForeColor = ffffff
            Me.Text1.BackColor = Me.Frame2.BackColor
            Else
                Me.Text1.Tag = "In"
                SetCapture Text1.hWnd
                 Me.Text1.ForeColor = 222222
                 Me.Text1.BackColor = 12632319
            End IfEnd Sub
    Private Declare Function ReleaseCapture Lib "user32" () As Long
    Private Declare Function SetCapture Lib "user32" (ByVal hWnd As Long) As Long
      

  14.   

    使用VB的ActiveX向导,做一个自己的控件
    可以添加属性和事件处理方法的
      

  15.   


    图片.label.自动画.有很多啦!!
      

  16.   

    hideakiwang() 你的代码好像不全,我试了,用不成有错误。
    junwhj(junwhj.51.net) 你的代码我也试了,不过还不是我所想要的效果,我在试着修改修改。