亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? menus.cls

?? 星級酒店管理系統(附帶系統自寫控件源碼)
?? CLS
?? 第 1 頁 / 共 2 頁
字號:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "Menus"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit

Private picMenu As PictureBox
Private picCache As PictureBox
Private colMenus As New Collection
Private mlButtonHeight As Long
Private mlMenuPrev As Long
Private mlMenuCur As Long
Private mbNumberOfMenusChanged As Boolean

#If USE_WING Then
    Private Declare Function WinGBitBlt Lib "wing32.dll" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long) As Long
#Else
    Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
#End If

Const SRCCOPY = &HCC0020
Const PIXELS_PER_BITBLT = 1
Const TYPE_UP = 1
Const TYPE_DOWN = -1

Public Function Add(ByVal sCaption As String, lIndex As Long, ByVal picMenu As Object) As VMenu
    Dim newMenu As New VMenu
    
    On Error Resume Next
    
    With newMenu
        .Caption = sCaption
        .Index = lIndex
        Set .Control = picMenu
        .ButtonHeight = mlButtonHeight
    End With
        If colMenus.Count = 0 Then
            colMenus.Add newMenu
        ElseIf lIndex = colMenus.Count + 1 Then
            colMenus.Add newMenu
        ElseIf lIndex = 1 Then
            colMenus.Add newMenu, , 1
        Else
            colMenus.Add newMenu, , , lIndex - 1
        End If
    
    Set Add = newMenu
End Function

Public Sub Delete(lIndex As Long)
    On Error Resume Next
    colMenus.Remove lIndex
End Sub

Public Property Get Item(lIndex As Variant) As VMenu
    On Error Resume Next
    If lIndex > 0 Then
        Set Item = colMenus(lIndex)
    End If
End Property

Public Function Count() As Long
    On Error Resume Next
    Count = colMenus.Count
End Function

Public Sub MoveMenu(lCurIndex As Long, lNewIndex As Long)
    '
End Sub

Public Sub MoveMenuItem(lCurIndex As Long, lNewIndex As Long)
    '
End Sub

Public Property Get Caption(lIndex As Long) As String
    On Error Resume Next
    Caption = colMenus(lIndex).Caption
End Property

Public Property Let Caption(lIndex As Long, sNewValue As String)
    On Error Resume Next
    colMenus(lIndex).Caption = sNewValue
End Property

Public Property Get ButtonHeight() As Long
    On Error Resume Next
    ButtonHeight = mlButtonHeight
End Property

Public Property Let ButtonHeight(ByVal lNewValue As Long)
    On Error Resume Next
    mlButtonHeight = lNewValue
End Property

Public Property Set Menu(oNewValue As PictureBox)
    On Error Resume Next
    Set picMenu = oNewValue
End Property

Public Property Set Cache(oNewValue As PictureBox)
    On Error Resume Next
    Set picCache = oNewValue
End Property

Public Property Let MenuCur(lNewValue As Long)
    On Error Resume Next
    mlMenuCur = lNewValue
End Property

Public Sub Paint()
    On Error Resume Next
    If mlMenuPrev = 0 Then
        mlMenuPrev = mlMenuCur
    End If

    If mlMenuPrev = mlMenuCur Then
        Repaint
    ElseIf mlMenuPrev < mlMenuCur Then
        ReselectDown
    Else
        ReselectUp
    End If
    
    DrawIcons
    
    SetMenuButtonsHotSpot
    
    mlMenuPrev = mlMenuCur
End Sub

Private Sub Repaint()
    Dim l As Long
    Dim lMax As Long
    Dim lResult As Long
    Dim hDestDC As Long
    Dim hSrcDC As Long
    Dim sCaption As String
    Dim lWidth As Long
    Dim lHeight As Long
    On Error Resume Next
    
    lMax = colMenus.Count
    With picMenu
        If mbNumberOfMenusChanged Then
            .Cls
            mbNumberOfMenusChanged = False
        End If
        hDestDC = .hdc
        .ScaleMode = vbPixels
        .ForeColor = vbButtonText
        lWidth = CLng(.ScaleWidth)
        lHeight = CLng(.ScaleHeight)
    End With
    hSrcDC = picCache.hdc
    
    If lMax = 0 Or hDestDC = 0 Or hSrcDC = 0 Then
        Exit Sub
    End If
    
    For l = 1 To mlMenuCur
        With picMenu
#If USE_WING Then
            lResult = WinGBitBlt(hDestDC, 0, _
                (l - 1) * mlButtonHeight, _
                lWidth, _
                mlButtonHeight, _
                hSrcDC, 0, 0)
#Else
            lResult = BitBlt(hDestDC, 0, _
                (l - 1) * mlButtonHeight, _
                lWidth, _
                mlButtonHeight, _
                hSrcDC, 0, 0, SRCCOPY)
#End If
            sCaption = colMenus.Item(l).Caption
            .CurrentX = (lWidth \ 2) - (.TextWidth(sCaption) \ 2)
            .CurrentY = (l - 1) * mlButtonHeight + 2
            picMenu.Print sCaption
        End With
    Next
    
    For l = lMax To mlMenuCur + 1 Step -1
        With picMenu
#If USE_WING Then
            lResult = WinGBitBlt(hDestDC, 0, _
                lHeight - (lMax - l + 1) * mlButtonHeight, _
                lWidth, _
                mlButtonHeight, _
                hSrcDC, 0, 0)
#Else
            lResult = BitBlt(hDestDC, 0, _
                lHeight - (lMax - l + 1) * mlButtonHeight, _
                lWidth, _
                mlButtonHeight, _
                hSrcDC, 0, 0, SRCCOPY)
#End If
            sCaption = colMenus.Item(l).Caption
            .CurrentX = (lWidth \ 2) - (.TextWidth(sCaption) \ 2)
            .CurrentY = lHeight - (lMax - l + 1) * mlButtonHeight + 2
            picMenu.Print sCaption
        End With
    Next
    
End Sub

Private Sub ReselectDown()
    Dim lStartY As Long
    Dim lStopY As Long
    Dim lTopOfGroupY As Long
    Dim lPixelCount As Long
    Dim lResult As Long
    Dim lMax As Long
    Dim hDestDC As Long
    Dim hSrcDC As Long
    Dim lWidth As Long
    Dim bFirst As Boolean
    
    On Error Resume Next

    bFirst = True
    lMax = colMenus.Count
    With picMenu
        hDestDC = .hdc
        .ScaleMode = vbPixels
        .ForeColor = vbButtonText
        lWidth = .ScaleWidth
        lStopY = mlMenuPrev * mlButtonHeight
        lStartY = .ScaleHeight - (lMax - mlMenuCur) * mlButtonHeight
        lTopOfGroupY = .ScaleHeight - (lMax - mlMenuPrev) * mlButtonHeight
    End With
    hSrcDC = picCache.hdc
    
    If lMax = 0 Or hDestDC = 0 Or hSrcDC = 0 Then
        Exit Sub
    End If
    
    Do
#If USE_WING Then
        lResult = WinGBitBlt(hDestDC, 0, _
            lStopY, _
            lWidth, _
            lStartY - lStopY - lPixelCount - PIXELS_PER_BITBLT - ((Not (bFirst)) * PIXELS_PER_BITBLT), _
            hDestDC, 0, lStopY + PIXELS_PER_BITBLT)
#Else
        lResult = BitBlt(hDestDC, 0, _
            lStopY, _
            lWidth, _
            lStartY - lStopY - lPixelCount - PIXELS_PER_BITBLT - ((Not (bFirst)) * PIXELS_PER_BITBLT), _
            hDestDC, 0, lStopY + PIXELS_PER_BITBLT, SRCCOPY)
#End If
        If bFirst Then
#If USE_WING Then
            lResult = WinGBitBlt(hDestDC, 0, _
                lStartY - PIXELS_PER_BITBLT, _
                lWidth, _
                PIXELS_PER_BITBLT, _
                hSrcDC, 0, mlButtonHeight + 3)
#Else
            lResult = BitBlt(hDestDC, 0, _
                lStartY - PIXELS_PER_BITBLT, _
                lWidth, _
                PIXELS_PER_BITBLT, _
                hSrcDC, 0, mlButtonHeight + 3, SRCCOPY)
            bFirst = False
#End If
        End If
        
        lPixelCount = lPixelCount + PIXELS_PER_BITBLT
    
    Loop Until lTopOfGroupY - ((lPixelCount + 1) * PIXELS_PER_BITBLT) <= lStopY

#If USE_WING Then
    lResult = WinGBitBlt(hDestDC, 0, _
        lStopY, _
        lWidth, _
        lStartY - lStopY - 1 - lPixelCount - (Not (bFirst) * PIXELS_PER_BITBLT), _
        hDestDC, 0, lTopOfGroupY - lPixelCount)
#Else
    lResult = BitBlt(hDestDC, 0, _
        lStopY, _
        lWidth, _
        lStartY - lStopY - 1 - lPixelCount - (Not (bFirst) * PIXELS_PER_BITBLT), _
        hDestDC, 0, lTopOfGroupY - lPixelCount, SRCCOPY)
#End If
End Sub

Private Sub ReselectUp()
    Dim lStartY As Long
    Dim lStopY As Long
    Dim lBottomOfGroupY As Long
    Dim lPixelCount As Long
    Dim lResult As Long
    Dim lMax As Long
    Dim hDestDC As Long
    Dim hSrcDC As Long
    Dim lWidth As Long
    Dim bFirst As Boolean
    
    On Error Resume Next
    bFirst = True
    lMax = colMenus.Count
    With picMenu
        hDestDC = .hdc
        .ScaleMode = vbPixels
        .ForeColor = vbButtonText
        lWidth = .ScaleWidth
        lStartY = (mlMenuCur) * mlButtonHeight
        lStopY = .ScaleHeight - (lMax - mlMenuPrev) * mlButtonHeight
        lBottomOfGroupY = mlMenuPrev * mlButtonHeight

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91行情网站电视在线观看高清版| 麻豆91精品91久久久的内涵| av中文字幕不卡| 国产精品美女久久福利网站| youjizz久久| 亚洲视频在线观看一区| 91在线丨porny丨国产| 亚洲精品成人少妇| 4438x成人网最大色成网站| 奇米888四色在线精品| www国产成人免费观看视频 深夜成人网| 极品瑜伽女神91| 国产精品欧美经典| 欧美日韩国产一区二区三区地区| 日韩—二三区免费观看av| 久久久久久久综合色一本| www.欧美日韩国产在线| 亚洲一区在线视频| 久久综合久久鬼色| 91视频在线看| 天堂蜜桃一区二区三区 | 国产精品久久久久久久午夜片| 99久久精品国产一区二区三区| 一区二区三区国产| 欧美va在线播放| 成人av在线影院| 日韩在线观看一区二区| 久久久久久久性| 欧美日韩国产一二三| 国产激情精品久久久第一区二区| 一区二区在线看| 精品国产青草久久久久福利| 99久久夜色精品国产网站| 天天综合色天天综合| 中文字幕精品一区二区精品绿巨人 | 亚洲五码中文字幕| 精品国产3级a| 欧美在线观看一区| 国产成人免费av在线| 丝袜亚洲另类丝袜在线| 国产欧美日韩视频在线观看| 欧美日韩国产综合一区二区三区| 国产91对白在线观看九色| 午夜在线成人av| 国产精品不卡一区二区三区| 欧美一级免费大片| 在线观看不卡视频| 丰满亚洲少妇av| 狠狠色丁香九九婷婷综合五月| 亚洲一区二区四区蜜桃| 国产日韩av一区| 日韩一级精品视频在线观看| 99久久国产综合精品女不卡| 国产精品综合av一区二区国产馆| 午夜在线成人av| 亚洲视频在线一区观看| 国产欧美日韩激情| 欧美精品一区二区久久久| 欧美绝品在线观看成人午夜影视| 9i看片成人免费高清| 国产剧情一区二区三区| 奇米在线7777在线精品| 婷婷久久综合九色国产成人| 一区二区三区四区激情| 亚洲欧美综合另类在线卡通| 国产欧美日韩在线| 国产色产综合产在线视频| 日韩三级在线免费观看| 欧美精品在线视频| 欧美三级乱人伦电影| 91黄色免费观看| 欧美体内she精高潮| 日本国产一区二区| 欧美伊人久久久久久午夜久久久久| 色综合久久九月婷婷色综合| 成人av在线电影| 99在线热播精品免费| 99久久精品免费观看| 91在线视频网址| 91久久精品网| 欧美日韩国产综合一区二区| 欧美撒尿777hd撒尿| 欧美久久久一区| 欧美人xxxx| 日韩你懂的在线播放| 欧美成人一区二区三区片免费| 日韩亚洲欧美高清| 2020国产精品| 成人欧美一区二区三区黑人麻豆 | 欧美日本韩国一区二区三区视频| 欧美午夜电影一区| 欧美肥妇free| 精品国产乱码91久久久久久网站| www激情久久| 国产精品激情偷乱一区二区∴| 一区精品在线播放| 亚洲欧美电影院| 性欧美疯狂xxxxbbbb| 久久se这里有精品| 成人av资源站| 欧美日韩视频在线观看一区二区三区| 欧美人牲a欧美精品| 精品国产乱子伦一区| 国产精品三级电影| 亚洲一二三专区| 另类中文字幕网| 91亚洲男人天堂| 91精品国产综合久久久久久漫画| 久久综合色天天久久综合图片| 欧美激情在线看| 亚洲成a人片在线观看中文| 久久精品久久久精品美女| 成人晚上爱看视频| 欧美日韩国产一区二区三区地区| 久久在线观看免费| 亚洲欧美日韩一区二区三区在线观看 | 欧美一a一片一级一片| 欧美va亚洲va| 亚洲欧美aⅴ...| 久久aⅴ国产欧美74aaa| 91免费视频大全| 精品动漫一区二区三区在线观看| 中文字幕亚洲成人| 麻豆一区二区三区| 在线看国产一区| 国产日韩高清在线| 免费人成在线不卡| 91豆麻精品91久久久久久| 久久影院视频免费| 三级在线观看一区二区| jvid福利写真一区二区三区| 日韩三级中文字幕| 亚洲成年人影院| av不卡一区二区三区| 日韩精品一区二区在线| 亚洲午夜精品网| 91在线视频观看| 久久精品视频在线看| 天天色图综合网| 日本久久电影网| 久久精品视频网| 奇米在线7777在线精品| 欧美熟乱第一页| 亚洲日本在线观看| 国产成人午夜电影网| 精品日韩欧美一区二区| 亚洲国产成人av网| 色94色欧美sute亚洲线路一久 | 国产精品网站一区| 韩国欧美国产1区| 91精品国产高清一区二区三区 | 中文字幕免费不卡| 韩国精品主播一区二区在线观看 | 欧美性感一类影片在线播放| 国产精品久久久久久户外露出| 经典三级在线一区| 精品久久久久久久人人人人传媒 | 国产精品久久久久久久久搜平片 | 一区视频在线播放| 成人免费av资源| 欧美激情艳妇裸体舞| 国产传媒日韩欧美成人| 国产亚洲综合性久久久影院| 久久草av在线| 精品成人一区二区三区| 麻豆成人在线观看| 欧美xxxxxxxx| 精品一区二区三区久久久| 日韩一区二区麻豆国产| 日韩高清不卡在线| 欧美xxxxxxxx| 国内精品国产成人| 国产日产精品1区| 成人18视频日本| 亚洲欧美电影一区二区| 欧美三日本三级三级在线播放| 亚洲午夜免费电影| 欧美一区二区三区婷婷月色| 久久精品国内一区二区三区| 久久影院午夜片一区| 成人免费视频一区| 亚洲精品国产高清久久伦理二区| 精品视频在线免费观看| 麻豆一区二区三区| 国产欧美日韩另类一区| 色婷婷亚洲一区二区三区| 午夜精品免费在线| 欧美一区二区精品在线| 国内外精品视频| 亚洲色图视频网| 91精品国产日韩91久久久久久| 国产一区二区三区在线观看精品 | 欧美日韩国产高清一区二区| 蜜臀久久久久久久| 中文字幕av一区 二区| 欧美唯美清纯偷拍| 精品无人区卡一卡二卡三乱码免费卡 | 在线中文字幕一区二区| 老色鬼精品视频在线观看播放| 国产欧美一区二区三区网站|