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

📄 cwinxpcengine.cls

📁 进销存管理系统
💻 CLS
📖 第 1 页 / 共 4 页
字号:
  
      Else
         
         If Not m_MsgBox Or Not Not m_CommonD Or Not m_TabStrip Or Not m_ListView Then DetachMessage Me, Sender, WM_PAINT
         If m_MsgBox Or m_CommonD Then DetachMessage Me, Sender, WM_ACTIVATE
                  
         If m_Button Then DetachMessage Me, Sender, WM_SETFOCUS
         If m_Button Then DetachMessage Me, Sender, WM_KILLFOCUS
         If m_Button Or m_CheckBox Or m_Option Then DetachMessage Me, Sender, WM_KEYDOWN
         If m_Button Or m_CheckBox Or m_Option Then DetachMessage Me, Sender, WM_KEYUP
         
         If m_TabStrip Then DetachMessage Me, GetParent(Sender), WM_DRAWITEM
         If m_TabStrip Then DetachMessage Me, Sender, WM_PRINTCLIENT
                  
         If m_Adodc Or m_Button Or m_CheckBox Or m_Combo Or m_ICombo Or m_ListView Or m_Option Or m_Slider Or m_TabStrip _
         Then DetachMessage Me, Sender, WM_MOUSEMOVE
         
         If m_Adodc Or m_Button Or m_CheckBox Or m_Combo Or m_ICombo Or m_ListView Or m_Option Or m_Slider Or m_TabStrip _
         Then DetachMessage Me, Sender, WM_TIMER
         
         If m_Adodc Or m_Button Or m_CheckBox Or m_Combo Or m_ICombo Or m_ListView Or m_Option Or m_Slider Or m_TabStrip _
         Then DetachMessage Me, Sender, WM_LBUTTONDOWN
         
         If m_Adodc Or m_Button Or m_CheckBox Or m_Combo Or m_ICombo Or m_ListView Or m_Option Or m_Slider Or m_TabStrip _
         Then DetachMessage Me, Sender, WM_LBUTTONUP
         
         If m_Picture Or m_Button Or m_CheckBox Or m_ICombo Or m_Option _
         Then DetachMessage Me, Sender, WM_ENABLE
         
         If m_Combo Then DetachMessage Me, GetParent(Sender), WM_COMMAND
         If m_ICombo Then DetachMessage Me, GetWindow(Sender, GW_CHILD), WM_COMMAND
         
      
      End If
    
    
      
End Sub

Private Sub DrawControlClass()
   
   If m_hWnd = 0 Then Exit Sub
   
   If m_Combo Or m_ICombo Then
      DrawCombo
   ElseIf m_Adodc Then
      DrawAdodc
   ElseIf m_Button Then
      DrawButton
   ElseIf m_Text Or m_Picture Or m_ListBox Or m_FileListBox Or m_SysListView32 Then
      DrawText
   ElseIf m_ProgressBar Then
      DrawProgressBar
   ElseIf m_TabStrip Then
      DrawTabStrip
   ElseIf m_CheckBox Then
      DrawCheckBox
   ElseIf m_Option Then
      DrawOptionButton
   ElseIf m_StatusBar Then
      DrawStatusBar
   ElseIf m_Slider Then
      DrawSlider
   ElseIf m_ListView Then
      DrawText
      DrawListView
   ElseIf m_Frame Then
      DrawFrame
   Else
      
   End If
   
              
End Sub



Private Sub DrawButton()
Dim NewButton As cButtonXP
Dim hdc As Long
Dim lState As Long

lState = SendMessageLong(m_hWnd, BM_GETSTATE, 0, 0)

   
hdc = GetDC(m_hWnd)

   Set NewButton = New cButtonXP
     NewButton.hdc = IIf(IsWindowEnabled(m_hWnd) = False, hdc, IIf(m_PreDraw = True, TempDC, hdc))
     NewButton.hwnd = m_hWnd
     NewButton.Enabled = IsWindowEnabled(m_hWnd)
     NewButton.Focused = isFocused
     NewButton.Over = bOver
     NewButton.Down = ((lState And BST_CHECKED) = BST_CHECKED) Or ((lState And BST_PUSHED) = BST_PUSHED)
     NewButton.ColorScheme = m_SchemeColor
     NewButton.PreDraw = m_PreDraw
     NewButton.DrawButtonXP
   Set NewButton = Nothing
   
   ReleaseDC m_hWnd, hdc
   
End Sub

Private Sub DrawText()
Dim RcItem As RECT
Dim T_hWnd As Long
Dim hdc As Long
Dim Point As POINTAPI
Dim NewTextXP As cTextBoxXP

Set NewTextXP = New cTextBoxXP

 
 If m_ListView Or m_SysListView32 Then
    T_hWnd = m_hWnd
    m_hWnd = GetParent(m_hWnd)
 End If
  
  
  hdc = GetParent(m_hWnd)
  
  GetWindowRect m_hWnd, RcItem
    
  Point.X = RcItem.Left
  Point.Y = RcItem.Top

  ScreenToClient hdc, Point
  RcItem.Left = Point.X
  RcItem.Top = Point.Y

  Point.X = RcItem.Right
  Point.Y = RcItem.Bottom

  ScreenToClient hdc, Point
  RcItem.Right = Point.X
  RcItem.Bottom = Point.Y

  InflateRect RcItem, 1, 1
  hdc = GetDC(hdc)


   NewTextXP.hdc = hdc
   NewTextXP.hwnd = m_hWnd
   NewTextXP.IBottom = RcItem.Bottom
   NewTextXP.ILeft = RcItem.Left
   NewTextXP.IRight = RcItem.Right
   NewTextXP.ITop = RcItem.Top
   NewTextXP.State = IIf(IsWindowEnabled(m_hWnd) = 0, C_Disabled, ButtonState)
   NewTextXP.ColorScheme = m_SchemeColor
   NewTextXP.DrawTextBoxXP

   Set NewTextXP = Nothing
   ReleaseDC m_hWnd, hdc
 
 
   If m_ListView Or m_SysListView32 Then m_hWnd = T_hWnd
      
 
End Sub

Private Sub DrawListView()
 Dim NewListViewXP As cListViewXP
 Dim hdc As Long
 Dim RcItem As RECT
 Dim i As Long
 
 
 GetClientRect m_hWnd, RcItem
 hdc = GetDC(m_hWnd)
 
  Set NewListViewXP = New cListViewXP
    
    NewListViewXP.hdc = hdc
    NewListViewXP.hwnd = m_hWnd
    NewListViewXP.ItemFont = MyClassObject.Font.Name
    NewListViewXP.ItemItalic = MyClassObject.Font.Italic
    NewListViewXP.ItemUnderline = MyClassObject.Font.Underline
    NewListViewXP.ItemSize = MyClassObject.Font.Size
    NewListViewXP.Width = RcItem.Right
    NewListViewXP.IBottom = m_LVIRect.Bottom
    NewListViewXP.ILeft = m_LVIRect.Left
    NewListViewXP.IRight = m_LVIRect.Right
    NewListViewXP.ITop = m_LVIRect.Top
    NewListViewXP.State = ButtonState
    If m_CurrentItem = -1 Then SendMessageLong m_hWnd, &H1200 + 7, 1, RcItem
    NewListViewXP.CleanHeaders RcItem.Bottom
    NewListViewXP.DrawDownBorder RcItem.Bottom
    If m_CurrentItem <> -1 Then NewListViewXP.DrawListView
    GoSub DrawCleanText
  
  Set NewListViewXP = Nothing
  ReleaseDC m_hWnd, hdc
 
Exit Sub

DrawCleanText:
               
      For i = 0 To MyClassObject.ColumnHeaders.count - 1
        
        SendMessageLong m_hWnd, &H1200 + 7, i, RcItem
        NewListViewXP.IBottom = RcItem.Bottom
        NewListViewXP.ILeft = RcItem.Left
        NewListViewXP.IRight = RcItem.Right
        NewListViewXP.ITop = RcItem.Top
        NewListViewXP.ItemCaption = MyClassObject.ColumnHeaders(i + 1).Text
        NewListViewXP.SetTextParams
    
    Next i

Return

End Sub

Private Sub DrawFrame()
 Dim NewFrame As cFrameXP
 Dim hdc As Long
 
 hdc = GetDC(m_hWnd)

 Set NewFrame = New cFrameXP
   NewFrame.hwnd = m_hWnd
   NewFrame.hdc = hdc
   NewFrame.FontItalic = MyClassObject.FontItalic
   NewFrame.FontSize = MyClassObject.FontSize
   NewFrame.FontUnderline = MyClassObject.FontUnderline
   NewFrame.FrameCaption = MyClassObject.Caption
   NewFrame.FrameFont = MyClassObject.FontName
   NewFrame.Backcolor = MyClassObject.Backcolor
   NewFrame.Forecolor = MyClassObject.Forecolor
   NewFrame.DrawFrame
 Set NewFrame = Nothing
   
 ReleaseDC m_hWnd, hdc

End Sub

Private Sub DrawProgressBar()
 Dim NewProgressBarXP As cProgressBarXP
 Dim hdc As Long
   
 hdc = GetDC(m_hWnd)
  

 Set NewProgressBarXP = New cProgressBarXP
     With NewProgressBarXP
        .hdc = hdc
        .hwnd = m_hWnd
        .Max = MyClassObject.Max
        .Min = MyClassObject.Min
        .Value = MyClassObject.Value
        .Orientation = MyClassObject.Orientation
        .Scrolling = MyClassObject.Scrolling
        .ColorScheme = m_SchemeColor
        .DrawProgressBar
     End With
 Set NewProgressBarXP = Nothing
 
 
 
 
   ReleaseDC m_hWnd, hdc

End Sub

Private Sub DrawAdodc()
Dim NewAdodc As cAdodc
Dim hdc As Long

 hdc = GetDC(m_hWnd)

 Set NewAdodc = New cAdodc
     NewAdodc.hdc = hdc
     NewAdodc.hwnd = m_hWnd
     NewAdodc.Enabled = MyClassObject.Enabled
     NewAdodc.cButton = m_CurrentButton
     NewAdodc.ColorScheme = m_SchemeColor
    
     NewAdodc.Down = IIf(ButtonState = C_Down, True, False)
     NewAdodc.DrawAdodc
 
 
 Set NewAdodc = Nothing

 ReleaseDC m_hWnd, hdc


End Sub

Private Sub DrawCheckBox()
Dim NewCheckBoxXP As cCheckBoxXP
Dim hdc As Long
Dim lState As Long

lState = SendMessageLong(m_hWnd, BM_GETSTATE, 0, 0)
      
hdc = GetDC(m_hWnd)
 
  Set NewCheckBoxXP = New cCheckBoxXP
    NewCheckBoxXP.hdc = hdc
    NewCheckBoxXP.hwnd = m_hWnd
    NewCheckBoxXP.Enabled = IsWindowEnabled(m_hWnd)
    NewCheckBoxXP.Over = bOver
    NewCheckBoxXP.Down = ((lState And BST_PUSHED) = BST_PUSHED)
    NewCheckBoxXP.Value = SendMessageLong(m_hWnd, BM_GETCHECK, 0&, 0&)
    NewCheckBoxXP.Alignment = WindowAlignment(m_hWnd)
    NewCheckBoxXP.DrawCheckBox
 Set NewCheckBoxXP = Nothing
  
 ReleaseDC m_hWnd, hdc
 
End Sub

Private Sub DrawOptionButton()
 Dim NewOptionButtonXP As cOptionButtonXP
 Dim hdc As Long
 Dim lState As Long

 lState = SendMessageLong(m_hWnd, BM_GETSTATE, 0, 0)
 
 hdc = GetDC(m_hWnd)
 
 Set NewOptionButtonXP = New cOptionButtonXP
    NewOptionButtonXP.hdc = hdc
    NewOptionButtonXP.hwnd = m_hWnd
    NewOptionButtonXP.Enabled = IsWindowEnabled(m_hWnd)
    NewOptionButtonXP.Over = bOver
    NewOptionButtonXP.Down = ((lState And BST_PUSHED) = BST_PUSHED)
    NewOptionButtonXP.Value = SendMessageLong(m_hWnd, BM_GETCHECK, 0&, 0&)
    NewOptionButtonXP.Alignment = WindowAlignment(m_hWnd)
    NewOptionButtonXP.DrawOptionButton
 Set NewOptionButtonXP = Nothing
 
 ReleaseDC m_hWnd, hdc

End Sub

Private Sub DrawSlider()
 Dim NewSliderXP As cSliderXP
 Dim hdc As Long
 
 hdc = GetDC(m_hWnd)

 Set NewSliderXP = New cSliderXP
    With NewSliderXP
        .hdc = hdc
        .hwnd = m_hWnd
        .Max = MyClassObject.Max
        .Min = MyClassObject.Min
        .Value = MyClassObject.Value
        .Orientation = MyClassObject.Orientation
        .TickStyle = MyClassObject.TickStyle
        .State = IIf(IsWindowEnabled(m_hWnd) = 0, C_Disabled, IIf(isFocused And ButtonState <> C_Down, C_Focus, ButtonState))
        .DrawSlider
     End With
 Set NewSliderXP = Nothing
 
 ReleaseDC m_hWnd, hdc

End Sub
Private Sub DrawStatusBar()
 Dim NewStatusBarXP As cStatusBarXP
 Dim hdc As Long
 Dim count As Single
 
 hdc = GetDC(m_hWnd)
 
 Set NewStatusBarXP = New cStatusBarXP
    NewStatusBarXP.hdc = hdc
    NewStatusBarXP.hwnd = m_hWnd
    NewStatusBarXP.DrawBar
    For count = 1 To MyClassObject.Panels.count
         If m_IdeSubClass = False Then MyClassObject.Panels(count).Bevel = 0  '//--- Read Only Property (Disabled if IDE Subclassed = TRUE)
         '此处有个Status画线的Bug
         NewStatusBarXP.DrawPanel (MyClassObject.Panels(count).Left / 15) + (MyClassObject.Panels(count).Width / 15)
         '此处有个Status画线的Bug
    Next count
 Set NewStatusBarXP = Nothing
 
 ReleaseDC m_hWnd, hdc
 
End Sub



Private Sub DrawTabStrip()
Dim NewTabXP As cTabStripXP
Dim hdc As Long
  
 
hdc = GetDC(m_hWnd)
 
 
 Set NewTabXP = New cTabStripXP
     NewTabXP.hdc = hdc
     NewTabXP.hwnd = m_hWnd
     NewTabXP.CurrentItem = m_TSINumber
     NewTabXP.LastItem = m_TSILNumber
     NewTabXP.ItemFont = MyClassObject.Font.Name
     NewTabXP.ItemItalic = MyClassObject.Font.Italic
     NewTabXP.ItemUnderline = MyClassObject.Font.Underline
     NewTabXP.ItemSize = MyClassObject.Font.Size
     NewTabXP.ColorScheme = m_SchemeColor
     NewTabXP.CleanItem = m_TSCTab

⌨️ 快捷键说明

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