|
- '类中的各种属性与方法,主要用于外部调用
- 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
- Property Get BorderColor() As Long
- BorderColor = m_lngBrdColor
- End Property
- 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
- Property Get BackPicture() As String
- BackPicture = m_strBkPicture
- End Property
- 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
- 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
- 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
- Property Get FontUnderline() As Boolean
- FontUnderline = (Font.lfUnderline = 1)
- End Property
- 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
- Property Get FontItalic() As Boolean
- FontItalic = (Font.lfItalic = 1)
- End Property
- 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
- Property Get FontBold() As Boolean
- FontBold = (Font.lfWeight = 700)
- End Property
- 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
- Property Get FontSize() As Long
- FontSize = Font.lfHeight
- End Property
- Property Let BorderStyle(ByVal vData As Long)
- If m_lngBrdStyle <> vData Then
- m_lngBrdStyle = vData
- Refresh
- End If
- End Property
- Property Get BorderStyle() As Long
- BorderStyle = m_lngBrdStyle
- End Property
- Property Let TextHiColor(ByVal vData As Long)
- m_lngTextHiColor = vData
- End Property
- Property Get TextHiColor() As Long
- TextHiColor = m_lngTextHiColor
- End Property
- Property Let TextColor(ByVal vData As Long)
- If m_lngTextColor <> vData Then
- m_lngTextColor = vData
- Refresh
- End If
- End Property
- Property Get TextColor() As Long
- TextColor = m_lngTextColor
- End Property
- 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
- Property Get BackColor() As Long
- BackColor = m_lngBackColor
- End Property
- 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
- Sub Refresh()
- Dim rc As RECT
- If m_hWnd <> 0 Then
- ShowWindow m_hWnd, 0
- ShowWindow m_hWnd, 5
- End If
- End Sub
-
复制代码 |
|