把VB标准的工具栏变成平面式

  • 来源: 互联网 作者: 若水   2008-03-17/16:19
  • 平面式的工具栏好象显得很酷!但 VB5 只提供了普通的凸起的工具栏。你是否想把它变成平面的?这似乎很不容易。但事实并非如此,试试:

    BAS:

    Public Const WM_USER = &H400

    Public Const TB_SETSTYLE = WM_USER + 56

    Public Const TB_GETSTYLE = WM_USER + 57

    Public Const TBSTYLE_FLAT = &H800

    Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" _(ByVal hwnd As Long, _ByVal wMsg As Long, _

    ByVal wParam As Long, _ByVal lParam As Long) As Long

    Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA"_(ByVal hWnd1 As Long, _ByVal hWnd2 As Long, _

    ByVal lpsz1 As String, _ByVal lpsz2 As String) As Long

    SUB:

    Private Sub MakeFlat()

    Dim style As Long

    Dim hToolbar As Long

    Dim r As Long

    hToolbar = FindWindowEx(Toolbar1.hwnd, 0&, "ToolbarWindow32",

    vbNullString)

    style = SendMessageLong(hToolbar, TB_GETSTYLE, 0&, 0&)

    If style And TBSTYLE_FLAT Then

    style = style Xor TBSTYLE_FLAT

    Else: style = style Or TBSTYLE_FLAT

    End If

    r = SendMessageLong(hToolbar, TB_SETSTYLE, 0, style)

    Toolbar1.Refresh

    End Sub

    注意:需要 4.70 或其以上版本的 comctl32.dll 支持


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多