中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
ToolBar的模样自己画(三)
作者:未知 时间:2005-07-27 21:43 出处:CSDN 责编:chinaitpower
              摘要:ToolBar的模样自己画(三)

'类中的各种属性与方法,主要用于外部调用
Friend Property Let BorderColor(ByVal vData As Long)
    If m_lngBrdColor <> vData Then
        m_lngBrdColor = vData
        If m_lngBrdStyle > 3 Then Refresh
    End If
End Property
Friend Property Get BorderColor() As Long
    BorderColor = m_lngBrdColor
End Property
Friend Property Let BackPicture(ByVal vData As String)
    If vData <> "" And Dir(vData) <> "" Then
        If LCase(m_strBkPicture) <> LCase(vData) Then
            m_strBkPicture = vData
            Set mpicBk = LoadPicture(m_strBkPicture)
            Refresh
        End If
    Else
        Set mpicBk = Nothing
        m_strBkPicture = ""
    End If
End Property
Friend Property Get BackPicture() As String
    BackPicture = m_strBkPicture
End Property
Friend Property Let FontName(ByVal vData As String)
    Dim s As String, i As Long
    vData = Trim(vData)
    s = StrConv(Font.lfFaceName, vbUnicode)
    i = InStr(1, s, Chr(0))
    If i > 0 Then
        s = Left$(s, i - 1)
    End If
    If s <> vData Then
        CopyMemory Font.lfFaceName(0), ByVal vData, lstrlen(vData)
        Refresh
    End If
End Property
Friend Property Get FontName() As String
    Dim s As String, i As Long
    s = StrConv(Font.lfFaceName, vbUnicode)
    i = InStr(1, s, Chr(0) - 1)
    If i > 0 Then
        FontName = Left$(s, i - 1)
    Else
        FontName = s
    End If
End Property

Friend Property Let FontUnderline(ByVal vData As Boolean)
    Dim i As Long
    i = IIf(vData, 1, 0)
    If Font.lfUnderline <> i Then
        Font.lfUnderline = i
        Refresh
    End If
End Property
Friend Property Get FontUnderline() As Boolean
    FontUnderline = (Font.lfUnderline = 1)
End Property
Friend Property Let FontItalic(ByVal vData As Boolean)
    Dim i As Long
    i = IIf(vData, 1, 0)
    If Font.lfItalic <> i Then
        Font.lfItalic = i
        Refresh
    End If
End Property
Friend Property Get FontItalic() As Boolean
    FontItalic = (Font.lfItalic = 1)
End Property
Friend Property Let FontBold(ByVal vData As Boolean)
    Dim i As Long
    i = IIf(vData, 700, 400)
    If Font.lfWeight <> i Then
        Font.lfWeight = i
        Refresh
    End If
End Property
Friend Property Get FontBold() As Boolean
    FontBold = (Font.lfWeight = 700)
End Property
Friend Property Let FontSize(ByVal vData As Long)
    If Font.lfHeight <> vData And vData >= 7 And vData <= 16 Then
        Font.lfHeight = vData
        Font.lfWidth = 0
        Refresh
    End If
End Property
Friend Property Get FontSize() As Long
    FontSize = Font.lfHeight
End Property
Friend Property Let BorderStyle(ByVal vData As Long)
    If m_lngBrdStyle <> vData Then
        m_lngBrdStyle = vData
        Refresh
    End If
End Property
Friend Property Get BorderStyle() As Long
    BorderStyle = m_lngBrdStyle
End Property
Friend Property Let TextHiColor(ByVal vData As Long)
    m_lngTextHiColor = vData
End Property
Friend Property Get TextHiColor() As Long
    TextHiColor = m_lngTextHiColor
End Property
Friend Property Let TextColor(ByVal vData As Long)
    If m_lngTextColor <> vData Then
        m_lngTextColor = vData
        Refresh
    End If
End Property
Friend Property Get TextColor() As Long
    TextColor = m_lngTextColor
End Property
Friend Property Let BackColor(ByVal vData As Long)
    If m_lngBackColor <> vData Then
        m_lngBackColor = vData
        If mpicBk Is Nothing Then Refresh
    End If
End Property
Friend Property Get BackColor() As Long
    BackColor = m_lngBackColor
End Property
Friend Sub BindToolBar(ByVal hWnd As Long)
    If m_hWnd = 0 Then
        m_hWnd = hWnd
        If m_hWnd Then
          OldWindowProc = GetWindowLong(m_hWnd, GWL_WNDPROC)
          SetWindowLong m_hWnd, GWL_WNDPROC, AddressOf TBSubClass
        End If
        Refresh
    End If
End Sub
Private Sub Class_Initialize()
    Dim rc As RECT, hBrush As Long, i As Long
    m_lngTextColor = vbBlack
    m_lngTextHiColor = vbRed
    m_lngBackColor = &HD7E9EB
    m_lngBrdColor = &H0
    mlngBtnHiAlpha = 96
    mlngBtnDownAlpha = 192
    rc.Bottom = 128
    rc.Right = 128
    i = GetDC(0)
    mdcWhite = NewMyHdc(i, rc.Right, rc.Bottom)
    ReleaseDC 0, i
    hBrush = CreateSolidBrush(vbWhite)
    FillRect mdcWhite.hdc, rc, hBrush
    DeleteObject hBrush
    With Font
        .lfCharSet = 1
        .lfHeight = 12
        .lfWeight = 400
    End With
End Sub
Private Sub Class_Terminate()
    SetWindowLong m_hWnd, GWL_WNDPROC, OldWindowProc
    mdcWhite = DelMyHdc(mdcWhite)
    Set mpicBk = Nothing
End Sub
Friend Sub Refresh()
Dim rc As RECT
    If m_hWnd <> 0 Then
        ShowWindow m_hWnd, 0
        ShowWindow m_hWnd, 5
    End If
End Sub


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有