⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csliderxp.cls

📁 进销存管理系统
💻 CLS
📖 第 1 页 / 共 2 页
字号:
        PMX = Round(((AL + AR) / 2) + 0.1)
         
        DrawLine AL, AT + (DIF * 2.5), AL, FBM + (DIF * 2.5), m_Hdc, GetLngColor(Col1)
        DrawLine AR - 1, AT + 1 + (DIF * 2.5), AR - 1, FBM + (DIF * 2.5), m_Hdc, GetLngColor(Col3)
        DrawLine AR - 2, AT + 1 + (DIF * 2.5), AR - 2, FBM + (DIF * 2.5), m_Hdc, GetLngColor(Col4)
        DrawLine AR - 3, AT + 1 + (DIF * 2.5), AR - 3, FBM + (DIF * 2.5), m_Hdc, GetLngColor(Col5)
        DrawLine AL + 1, AT + (DIF * 10.5), AR - 1, AT + (DIF * 10.5), m_Hdc, GetLngColor(Col1)
        DrawLine AL + 1, AT + 1 + (DIF * 9.5), AR - 1, AT + 1 + (DIF * 9.5), m_Hdc, GetLngColor(ICol5)
        DrawLine AL + 1, AT + 2 + (DIF * 8.5), AR - 1, AT + 2 + (DIF * 8.5), m_Hdc, GetLngColor(ICol6)
        DrawLine AL + 1, AT + 3 + (DIF * 7.5), AR - 1, AT + 3 + (DIF * 7.5), m_Hdc, GetLngColor(ICol7)
        DrawLine PMX, AB - 5 - (DIF * 6.5), AR - 1, FBM - 3 - (DIF * 2.5), m_Hdc, GetLngColor(ICol3)
        DrawLine PMX, AB - 3 - (DIF * 8.5), AR, FBM - 2 - (DIF * 3.5), m_Hdc, GetLngColor(Col6)
        DrawLine PMX, AB - 4 - (DIF * 7.5), AR - 1, FBM - 2 - (DIF * 3.5), m_Hdc, GetLngColor(ICol4)
        DrawLine PMX - 1, AB - 5 - (DIF * 6.5), AR - 1, FBM - 4 - (DIF * 1.5), m_Hdc, GetLngColor(Col4)
        DrawLine PMX - 1, AB - 6 - (DIF * 5.5), AR - 2, FBM - 4 - (DIF * 1.5), m_Hdc, GetLngColor(Col5)
        DrawLine AL, FBM - 1 - (DIF * 4.5), PMX, AB - 1 - (DIF * 10.5), m_Hdc, GetLngColor(Col2)
        DrawLine AL + 1, FBM - 2 - (DIF * 3.5), PMX, AB - 3 - (DIF * 8.5), m_Hdc, GetLngColor(ICol2)
        DrawLine AL + 1, FBM - 1 - (DIF * 4.5), PMX, AB - 2 - (DIF * 9.5), m_Hdc, GetLngColor(ICol1)
        
        
        '====================================================================================
        'CLEAN THUMB AREA ..CORNERS...
   
        If Dtn = Top_TO_Bottom Then
            
            For i = 0 To ((AR - AL) / 2)
                DrawLine AL + i, FBM + i, AL + i, AB, m_Hdc, GetLngColor(vbButtonFace)
                DrawLine AR - i - 1, FBM + i, AR - i - 1, AB, m_Hdc, GetLngColor(vbButtonFace)
            Next i

            SetPixelV m_Hdc, AL, AT, GetLngColor(vbButtonFace)
            SetPixelV m_Hdc, AR - 1, AT, GetLngColor(vbButtonFace)
        
        Else
            
            For i = 0 To ((AR - AL) / 2)
                DrawLine AL + i, AT, AL + i, AT + Round(((AR - AL) / 2) + 0.1) - i, m_Hdc, GetLngColor(vbButtonFace)
                DrawLine AR - i - 1, AT, AR - i - 1, AT + Round(((AR - AL) / 2) + 0.1) - i, m_Hdc, GetLngColor(vbButtonFace)
            Next i
            
            SetPixelV m_Hdc, AL, AB - 1, GetLngColor(vbButtonFace)
            SetPixelV m_Hdc, AR - 1, AB - 1, GetLngColor(vbButtonFace)
                
        End If
      '==================================================================================
   
      
       Case Left_TO_Right, Right_TO_Left
       
       '=========================================================================================================
        'DRAW THE SLIDER.. 'DIF' IS THE FLAG TO ROTATE THE SLIDER LEFTSIDE OR RIGHT DEPENDING ON THE TSL
                  
        DIF = IIf(Dtn = Left_TO_Right, 0, 2)
        FBM = AR - 1 - ((AB - AT) / 2)
        PMX = Round(((AT + AB) / 2) - 0.1)
    
        DrawLine AL + 1 + (DIF * 3), AT, FBM + (DIF * 3) - 1, AT, m_Hdc, GetLngColor(Col1)
        DrawLine AL + (DIF * 10.5), AT + 1, AL + (DIF * 10.5), AB - 1, m_Hdc, GetLngColor(Col2)
        DrawLine AL + 1 + (DIF * 3), AB - 1, FBM + (DIF * 3) - 1, AB - 1, m_Hdc, GetLngColor(Col3)
        DrawLine AL + 1 + (DIF * 3), AB - 2, FBM + (DIF * 3) - 1, AB - 2, m_Hdc, GetLngColor(Col4)
        DrawLine AL + 1 + (DIF * 3), AB - 3, FBM + (DIF * 3) - 1, AB - 3, m_Hdc, GetLngColor(Col5)
        DrawLine FBM - 1 - (DIF * 4.5), AB - 1, AR - 1 - (DIF * 10.5), PMX - 1, m_Hdc, GetLngColor(Col6)
        DrawLine FBM - 1 - (DIF * 4.5), AT, AR - 1 - (DIF * 10.5), PMX + 1, m_Hdc, GetLngColor(Col2)
        DrawLine FBM - 2 - (DIF * 3.5), AB - 4, AR - 5 - (DIF * 6.5), PMX - 1, m_Hdc, GetLngColor(Col5)
        DrawLine FBM - 2 - (DIF * 3.5), AB - 3, AR - 4 - (DIF * 7.5), PMX - 1, m_Hdc, GetLngColor(Col4)
        DrawLine FBM - 1 - (DIF * 4.5), AT + 1, AR - 2 - (DIF * 9.5), PMX + 1, m_Hdc, GetLngColor(ICol1)
        DrawLine FBM - 2 - (DIF * 3.5), AT + 1, AR - 3 - (DIF * 8.5), PMX + 1, m_Hdc, GetLngColor(ICol2)
        DrawLine FBM - 1 - (DIF * 4.5), AB - 2, AR - 3 - (DIF * 8.5), PMX, m_Hdc, GetLngColor(ICol4)
        DrawLine FBM - 2 - (DIF * 3.5), AB - 2, AR - 4 - (DIF * 7.5), PMX, m_Hdc, GetLngColor(ICol3)
        DrawLine AL + 1 + (DIF * 8.5), AT + 1, AL + 1 + (DIF * 8.5), AB - 1, m_Hdc, GetLngColor(ICol5)
        DrawLine AL + 2 + (DIF * 8.5), AT + 1, AL + 2 + (DIF * 8.5), AB - 1, m_Hdc, GetLngColor(ICol6)
        DrawLine AL + 3 + (DIF * 8.5), AT + 1, AL + 3 + (DIF * 8.5), AB - 1, m_Hdc, GetLngColor(ICol7)

        '====================================================================================
        'CLEAN THUMB AREA ..CORNERS...
   
         If Dtn = Left_TO_Right Then
            
            For i = 0 To ((AB - AT) / 2)
                DrawLine FBM + i, AT + i, AR, AT + i, m_Hdc, GetLngColor(vbButtonFace)
                DrawLine AR - i, PMX + i - 1, AR, PMX + i - 1, m_Hdc, GetLngColor(vbButtonFace)
            Next i

            SetPixelV m_Hdc, AL, AT, GetLngColor(vbButtonFace)
            SetPixelV m_Hdc, AL, AB - 1, GetLngColor(vbButtonFace)
        
         Else
            
            For i = 0 To ((AB - AT) / 2)
                DrawLine AL, AT + i, AL + Round(((AB - AT) / 2) + 0.1) - i, AT + i, m_Hdc, GetLngColor(vbButtonFace)
                DrawLine AL, PMX + i - 1, AL + i, PMX + i - 1, m_Hdc, GetLngColor(vbButtonFace)
            Next i
            
            SetPixelV m_Hdc, AR - 1, AT, GetLngColor(vbButtonFace)
            SetPixelV m_Hdc, AR - 1, AB - 1, GetLngColor(vbButtonFace)
                
        End If
         
 
     Case Else
        'Nothing

End Select
     

End Sub

'====================================================================================================
'====================================================================================================

'                                   DRAW THE SLIDER BODY 2....
                                    'IN CASE OF NO THICKS
                                
'====================================================================================================
'====================================================================================================

Private Sub DrawSqR()
  
  If m_Ort = 0 Then
   DrawLine AL, AT, AL, AB, m_Hdc, GetLngColor(Col1)
   DrawLine AR - 1, AT, AR - 1, AB, m_Hdc, GetLngColor(Col3)
   DrawLine AR - 2, AT, AR - 2, AB, m_Hdc, GetLngColor(Col4)
   DrawLine AR - 3, AT, AR - 3, AB, m_Hdc, GetLngColor(Col5)
   
   DrawLine AL, AB - 1, AR, AB - 1, m_Hdc, GetLngColor(Col6)
   DrawLine AL + 1, AT, AR, AT, m_Hdc, GetLngColor(Col1)
   DrawLine AL + 1, AB - 2, AR - 1, AB - 2, m_Hdc, GetLngColor(ICol6)
   DrawLine AL + 1, AB - 3, AR - 1, AB - 3, m_Hdc, GetLngColor(ICol5)
   DrawLine AL + 1, AT + 1, AR - 1, AT + 1, m_Hdc, GetLngColor(ICol5)
   DrawLine AL + 1, AT + 2, AR - 1, AT + 2, m_Hdc, GetLngColor(ICol6)
   
  Else

    DrawLine AL, AT, AR, AT, m_Hdc, GetLngColor(Col1)
    DrawLine AL, AB - 1, AR, AB - 1, m_Hdc, GetLngColor(Col3)
    DrawLine AL, AB - 2, AR, AB - 2, m_Hdc, GetLngColor(Col4)
    DrawLine AL, AB - 3, AR, AB - 3, m_Hdc, GetLngColor(Col5)
    DrawLine AR - 1, AT, AR - 1, AB, m_Hdc, GetLngColor(Col6)
    DrawLine AL, AT, AL, AB, m_Hdc, GetLngColor(Col1)
    DrawLine AR - 2, AT + 1, AR - 2, AB - 1, m_Hdc, GetLngColor(ICol6)
    DrawLine AR - 3, AT + 1, AR - 3, AB - 1, m_Hdc, GetLngColor(ICol5)
    DrawLine AL + 1, AT + 1, AL + 1, AB - 1, m_Hdc, GetLngColor(ICol5)
    DrawLine AL + 2, AT + 1, AL + 2, AB - 1, m_Hdc, GetLngColor(ICol6)
   
   
  End If
   
   SetPixelV m_Hdc, AR - 1, AT, GetLngColor(vbButtonFace)
   SetPixelV m_Hdc, AL, AT, GetLngColor(vbButtonFace)
   SetPixelV m_Hdc, AR - 1, AB - 1, GetLngColor(vbButtonFace)
   SetPixelV m_Hdc, AL, AB - 1, GetLngColor(vbButtonFace)
  
End Sub

'====================================================================================================
'====================================================================================================

'                                   DRAW THE SLIDER CENTER
                                    '     WHITE AREA
                                
'====================================================================================================
'====================================================================================================

Private Sub DrawCenter()

Dim hBrush As Long
Dim hRect As RECT
         
    hRect.Left = AL
    hRect.Right = AR
    hRect.Top = AT
    hRect.Bottom = AB
    
    hBrush = CreateSolidBrush(vbWhite)
    FillRect m_Hdc, hRect, hBrush
    DeleteObject hBrush

End Sub

'====================================================================================================
'====================================================================================================

'                                   DRAW THE SLIDER TICKS
                    '     CHANGE THICKS COLOR FROM BLACK TO XP COLOR (&H92A1A1)
                                
'====================================================================================================
'====================================================================================================

Private Sub DrawTicks()
Dim i As Integer
Dim TicPos As Integer
Dim NumTics As Integer
 
 
 NumTics = SendMessageLong(m_hWnd, TBM_GETNUMTICS, 0&, 0&)
   
 If NumTics = 0 Then Exit Sub
 
 If m_Ort = 0 Then
   '----------------------------------------------------------------------------------------------------------------------------------------------------------------------
      For i = 0 To NumTics - 3
            TicPos = SendMessageLong(m_hWnd, TBM_GETTICPOS, i, 0&)
            If m_Tsl = 0 Or m_Tsl = 2 Then DrawLine TicPos, AB + 1, TicPos, AB + 4, m_Hdc, GetLngColor(&H92A1A1)
            If m_Tsl = 1 Or m_Tsl = 2 Then DrawLine TicPos, AT - 4, TicPos, AT - 1, m_Hdc, GetLngColor(&H92A1A1)
      Next i

      If m_Tsl = 0 Or m_Tsl = 2 Then
            DrawLine TL + 5, AB + 1, TL + 5, AB + 5, m_Hdc, GetLngColor(&H92A1A1) 'LEFT LOGICAL
            DrawLine TR - 6, AB + 1, TR - 6, AB + 5, m_Hdc, GetLngColor(&H92A1A1) 'RIGHT LOGICAL
      End If

      If m_Tsl = 1 Or m_Tsl = 2 Then
            DrawLine TL + 5, AT - 5, TL + 5, AT - 1, m_Hdc, GetLngColor(&H92A1A1) 'LEFT LOGICAL
            DrawLine TR - 6, AT - 5, TR - 6, AT - 1, m_Hdc, GetLngColor(&H92A1A1) 'RIGHT LOGICAL
      End If
   '----------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
 Else
   '----------------------------------------------------------------------------------------------------------------------------------------------------------------------
      For i = 0 To NumTics - 3
            TicPos = SendMessageLong(m_hWnd, TBM_GETTICPOS, i, 0&)
            If m_Tsl = 0 Or m_Tsl = 2 Then DrawLine AR + 1, TicPos, AR + 4, TicPos, m_Hdc, GetLngColor(&H92A1A1)
            If m_Tsl = 1 Or m_Tsl = 2 Then DrawLine AL - 4, TicPos, AL - 1, TicPos, m_Hdc, GetLngColor(&H92A1A1)
      Next i

      If m_Tsl = 0 Or m_Tsl = 2 Then
             DrawLine AR + 1, TL + 5, AR + 5, TL + 5, m_Hdc, GetLngColor(&H92A1A1) 'LEFT LOGICAL
             DrawLine AR + 1, TR - 6, AR + 5, TR - 6, m_Hdc, GetLngColor(&H92A1A1) 'RIGHT LOGICAL
      End If

      If m_Tsl = 1 Or m_Tsl = 2 Then
             DrawLine AL - 5, TL + 5, AL - 1, TL + 5, m_Hdc, GetLngColor(&H92A1A1) 'LEFT LOGICAL
             DrawLine AL - 5, TR - 6, AL - 1, TR - 6, m_Hdc, GetLngColor(&H92A1A1) 'RIGHT LOGICAL
      End If
   '----------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
 
 End If


End Sub

Public Property Let hwnd(ByVal cHwnd As Long)
   m_hWnd = cHwnd
End Property

Public Property Let hdc(ByVal cHdc As Long)
   m_Hdc = cHdc
End Property

Public Property Let Min(ByVal cMin As Integer)
   m_Min = cMin
End Property

Public Property Let Max(ByVal cMax As Integer)
   m_Max = cMax
End Property

Public Property Let Orientation(ByVal cOrientation As Byte)
   m_Ort = cOrientation
End Property

Public Property Let Value(ByVal cValue As Integer)
   m_Val = cValue
End Property

Public Property Let TickStyle(ByVal cTickStyle As Byte)
   m_Tsl = cTickStyle
End Property

Public Property Let State(ByVal cState As ControlState)
   m_Stt = cState
End Property

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -