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

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

?? modapi.bas

?? XP風格浮動工具條 和蘋果風格按鈕控件
?? BAS
字號:
Attribute VB_Name = "modAPI"

'===Types=============================================================================================================
Public Declare Function GetWindowRect Lib "user32.dll" (ByVal hWnd As Long, ByRef lpRect As RECT) As Long

Public Type POINTAPI
    X As Long
    Y As Long
End Type

Public Type RECT
    Left As Long
    Top As Long
    Right As Long
    bottom As Long
End Type


Public Type TRIVERTEX
    X As Long
    Y As Long
    Red As Integer
    Green As Integer
    Blue As Integer
    Alpha As Integer
End Type
Public Type GRADIENT_RECT
    UpperLeft As Long
    LowerRight As Long
End Type

Public Enum GradientFillRectType
    GRADIENT_FILL_RECT_H = 0
    GRADIENT_FILL_RECT_V = 1
End Enum


'=CONSTANTES de texte==================================================================================================

Public Const DT_RIGHT = &H2
Public Const DT_LEFT = &H0
Public Const DT_CENTER = &H1
Public Const DT_CALCRECT = &H400
Public Const DT_TOP = &H0
Public Const DT_BOTTOM = &H8
Public Const DT_VCENTER = &H4
Public Const DT_SINGLELINE = &H20
Public Const DT_END_ELLIPSIS = &H8000&






'=API POUR LE DESSIN==================================================================================================

Private Declare Function Rectangle Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Public Declare Function RoundRect Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Public Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Public Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Public Declare Function SetWindowRgn Lib "User32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Public Declare Function GradientFillRect Lib "msimg32" Alias "GradientFill" (ByVal hdc As Long, pVertex As TRIVERTEX, ByVal dwNumVertex As Long, pMesh As GRADIENT_RECT, ByVal dwNumMesh As Long, ByVal dwMode As Long) As Long
Public Declare Function GradientFill Lib "msimg32" (ByVal hdc As Long, pVertex As Any, ByVal dwNumVertex As Long, pMesh As Any, ByVal dwNumMesh As Long, ByVal dwMode As Long) As Long
Public Declare Function SetRect Lib "User32" (lpRect As RECT, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

Public Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, _
                                               ByVal nWidth As Long, _
                                               ByVal crColor As Long) As Long
Public Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Public Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Public Declare Function GetCurrentObject Lib "gdi32" (ByVal hdc As Long, ByVal uObjectType As Long) As Long
Public Declare Function PaintRgn Lib "gdi32" (ByVal hdc As Long, ByVal hRgn As Long) As Long

Public Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, _
                                              ByVal X As Long, _
                                              ByVal Y As Long, _
                                              lpPoint As POINTAPI) As Long
Public Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, _
                                            ByVal X As Long, _
                                            ByVal Y As Long) As Long

Public Declare Function OleTranslateColor Lib "olepro32.dll" (ByVal OLE_COLOR As Long, _
                                                              ByVal HPALETTE As Long, _
                                                              pccolorref As Long) As Long



Public Declare Function FillRect Lib "User32" (ByVal hdc As Long, _
                                               lpRect As RECT, _
                                               ByVal hBrush As Long) As Long


Public Declare Function DrawText Lib "User32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long

'Public Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, ByVal lpRect As Long, ByVal bErase As Long) As Long

Public Declare Function GetCursorPos Lib "User32" (lpPoint As POINTAPI) As Long

Public Declare Function ScreenToClient Lib "User32" (ByVal hWnd As Long, lpPoint As POINTAPI) As Long

Public Declare Function PtInRegion Lib "gdi32" (ByVal hRgn As Long, ByVal X As Long, ByVal Y As Long) As Long


Public Declare Function GetGDIObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
Public Declare Function OffsetRect Lib "User32" (lpRect As RECT, ByVal X As Long, ByVal Y As Long) As Long



' *************************************
' *            CONSTANTS              *
' *************************************
Private Const API_DIB_RGB_COLORS As Long = 0



' *************************************
' *        TYPES                      *
' *************************************
Public Type tpAPI_RECT                  ' NEVER ever use 'Left' or 'Right' as names in a udt!
    lLeft       As Long                 ' You run into trouble with the VB build-in functions for
    lTop        As Long                 ' string/variant handling (Left() and Right(). And this
    lRight      As Long                 ' strange effects and error messages are really hard to debug ... ;(
    lBottom     As Long
End Type

Private Type tpBITMAPINFOHEADER
    biSize          As Long
    biWidth         As Long
    biHeight        As Long
    biPlanes        As Integer
    biBitCount      As Integer
    biCompression   As Long
    biSizeImage     As Long
    biXPelsPerMeter As Long
    biYPelsPerMeter As Long
    biClrUsed       As Long
    biClrImportant  As Long
End Type


' *************************************
' *        API DECLARES               *
' *************************************
Private Declare Function API_StretchDIBits Lib "gdi32" Alias "StretchDIBits" _
        (ByVal hdc As Long, _
         ByVal X As Long, _
         ByVal Y As Long, _
         ByVal dx As Long, _
         ByVal dy As Long, _
         ByVal SrcX As Long, _
         ByVal SrcY As Long, _
         ByVal wSrcWidth As Long, _
         ByVal wSrcHeight As Long, _
         lpBits As Any, _
         lpBitsInfo As tpBITMAPINFOHEADER, _
         ByVal wUsage As Long, _
         ByVal dwRop As Long) As Long
'
'
'


Public Sub DrawTopDownGradient(hdc As Long, rc As tpAPI_RECT, ByVal lRGBColorFrom As Long, ByVal lRGBColorTo As Long)
    
    Dim uBIH            As tpBITMAPINFOHEADER
    Dim lBits()         As Long
    Dim lColor          As Long
    
    Dim X               As Long
    Dim Y               As Long
    Dim xEnd            As Long
    Dim yEnd            As Long
    Dim ScanlineWidth   As Long
    Dim yOffset         As Long
    
    Dim r               As Long
    Dim G               As Long
    Dim B               As Long
    Dim end_R           As Long
    Dim end_G           As Long
    Dim end_B           As Long
    Dim dR              As Long
    Dim dG              As Long
    Dim dB              As Long
    
    ' Split a RGB long value into components - FROM gradient color
    lRGBColorFrom = lRGBColorFrom And &HFFFFFF                      ' "SplitRGB"  by www.Abstractvb.com
    r = lRGBColorFrom Mod &H100&                                    ' Should be the fastest way in pur VB
    lRGBColorFrom = lRGBColorFrom \ &H100&                          ' See test on VBSpeed (http://www.xbeat.net/vbspeed/)
    G = lRGBColorFrom Mod &H100&                                    ' Btw: API solution with RTLMoveMem is slower ... ;)
    lRGBColorFrom = lRGBColorFrom \ &H100&
    B = lRGBColorFrom Mod &H100&
    
    ' Split a RGB long value into components - TO gradient color
    lRGBColorTo = lRGBColorTo And &HFFFFFF
    end_R = lRGBColorTo Mod &H100&
    lRGBColorTo = lRGBColorTo \ &H100&
    end_G = lRGBColorTo Mod &H100&
    lRGBColorTo = lRGBColorTo \ &H100&
    end_B = lRGBColorTo Mod &H100&
    
    
    '-- Loops bounds
    xEnd = rc.lRight - rc.lLeft
    yEnd = rc.lBottom - rc.lTop
    
    ' Check:  Top lower than Bottom ?
    If yEnd < 1 Then
    
        Exit Sub
    End If
    
    '-- Scanline width
    ScanlineWidth = xEnd + 1
    yOffset = -ScanlineWidth
    
    '-- Initialize array size
    ReDim lBits((xEnd + 1) * (yEnd + 1) - 1) As Long
       
    '-- Get color distances
    dR = end_R - r
    dG = end_G - G
    dB = end_B - B
       
    '-- Gradient loop over rectangle
    For Y = 0 To yEnd
        
        '-- Calculate color and *y* offset
        lColor = B + (dB * Y) \ yEnd + 256 * (G + (dG * Y) \ yEnd) + 65536 * (r + (dR * Y) \ yEnd)
        
        yOffset = yOffset + ScanlineWidth
        
        '-- *Fill* line
        For X = yOffset To xEnd + yOffset
            lBits(X) = lColor
        Next X
        
    Next Y
    
    '-- Prepare bitmap info structure
    With uBIH
        .biSize = Len(uBIH)
        .biBitCount = 32
        .biPlanes = 1
        .biWidth = xEnd + 1
        .biHeight = -yEnd + 1
    End With
    
    '-- Finaly, paint *bits* onto given DC
    API_StretchDIBits hdc, _
            rc.lLeft, rc.lTop, _
            xEnd, yEnd, _
            0, 0, _
            xEnd, yEnd, _
            lBits(0), _
            uBIH, _
            API_DIB_RGB_COLORS, _
            vbSrcCopy
            
End Sub


' #*#
'[APIs]

'[This function will set your form smoothly curved ]
'=============================================================
Public Sub SmoothForm(Frm As Form, Optional ByVal Curvature As Double = 25)
Dim hRgn As Long
Dim X1 As Long, Y1 As Long
    X1 = Frm.Width / Screen.TwipsPerPixelX
    Y1 = Frm.Height / Screen.TwipsPerPixelY
    hRgn = CreateRoundRectRgn(0, 0, X1, Y1, Curvature, Curvature)
    SetWindowRgn Frm.hWnd, hRgn, True
    DeleteObject hRgn
End Sub
'=============================================================

'dessine la bordure
Public Sub UtilDrawShapeStyle(ByVal lngHdc As Long, _
                              ByVal X1 As Long, _
                              ByVal Y1 As Long, _
                              ByVal X2 As Long, _
                              ByVal Y2 As Long, _
                              ByVal radius As Long)

    RoundRect lngHdc, X1, Y1, X2, Y2, radius, radius
End Sub

'remplissage arr plan
Public Sub UtilDrawBackground(ByVal lngHdc As Long, _
                              ByVal colorStart As Long, _
                              ByVal colorEnd As Long, _
                              ByVal lngLeft As Long, _
                              ByVal lngTop As Long, _
                              ByVal lngWidth As Long, _
                              ByVal lngHeight As Long, _
                              Optional ByVal horizontal As Long = 0)


    Dim tR As RECT

    With tR
        .Left = lngLeft
        .Top = lngTop
        .Right = lngWidth    'lngLeft + lngWidth
        .bottom = lngHeight    'lngTop + lngHeight
        ' gradient fill vertical:
    End With    'tR
    GradientFillRectB lngHdc, tR, colorStart, colorEnd, IIf(horizontal = 0, GRADIENT_FILL_RECT_H, GRADIENT_FILL_RECT_V)

End Sub


Private Sub GradientFillRectB(ByVal lhdc As Long, _
                             tR As RECT, _
                             ByVal oStartColor As OLE_COLOR, _
                             ByVal oEndColor As OLE_COLOR, _
                             ByVal eDir As GradientFillRectType)

    Dim tTV(0 To 1) As TRIVERTEX
    Dim tGR As GRADIENT_RECT
    Dim hBrush As Long
    Dim lStartcolor As Long
    Dim lEndColor As Long

    'Dim lR As Long
    ' Use GradientFill:
    If Not (HasGradientAndTransparency) Then
        lStartcolor = TranslateColor(oStartColor)
        lEndColor = TranslateColor(oEndColor)
        setTriVertexColor tTV(0), lStartcolor
        tTV(0).X = tR.Left
        tTV(0).Y = tR.Top
        setTriVertexColor tTV(1), lEndColor
        tTV(1).X = tR.Right
        tTV(1).Y = tR.bottom
        tGR.UpperLeft = 0
        tGR.LowerRight = 1
        GradientFill lhdc, tTV(0), 2, tGR, 1, eDir
    Else
        ' Fill with solid brush:
        hBrush = CreateSolidBrush(TranslateColor(oEndColor))
        FillRect lhdc, tR, hBrush
        DeleteObject hBrush
    End If

End Sub


Private Function TranslateColor(ByVal oClr As OLE_COLOR, _
                                Optional hPal As Long = 0) As Long

' Convert Automation color to Windows color
'--------- Drawing

    If OleTranslateColor(oClr, hPal, TranslateColor) Then
        TranslateColor = CLR_INVALID
    End If
End Function

Private Sub setTriVertexColor(tTV As TRIVERTEX, _
                              ByVal lColor As Long)


    Dim lRed As Long
    Dim lGreen As Long
    Dim lBlue As Long

    lRed = (lColor And &HFF&) * &H100&
    lGreen = (lColor And &HFF00&)
    lBlue = (lColor And &HFF0000) \ &H100&
    With tTV
        setTriVertexColorComponent .Red, lRed
        setTriVertexColorComponent .Green, lGreen
        setTriVertexColorComponent .Blue, lBlue
    End With    'tTV

End Sub

Private Sub setTriVertexColorComponent(ByRef iColor As Integer, _
                                       ByVal lComponent As Long)

    If (lComponent And &H8000&) = &H8000& Then
        iColor = (lComponent And &H7F00&)
        iColor = iColor Or &H8000
    Else
        iColor = lComponent
    End If

End Sub



Public Property Get dBlendColor(ByVal oColorFrom As OLE_COLOR, _
                                ByVal oColorTo As OLE_COLOR, _
                                Optional ByVal Alpha As Long = 128) As Long

    Dim lSrcR As Long
    Dim lSrcG As Long
    Dim lSrcB As Long
    Dim lDstR As Long
    Dim lDstG As Long
    Dim lDstB As Long
    Dim lCFrom As Long
    Dim lCTo As Long
    lCFrom = TranslateColor(oColorFrom)
    lCTo = TranslateColor(oColorTo)
    lSrcR = lCFrom And &HFF
    lSrcG = (lCFrom And &HFF00&) \ &H100&
    lSrcB = (lCFrom And &HFF0000) \ &H10000
    lDstR = lCTo And &HFF
    lDstG = (lCTo And &HFF00&) \ &H100&
    lDstB = (lCTo And &HFF0000) \ &H10000
    dBlendColor = RGB(((lSrcR * Alpha) / 255) + ((lDstR * (255 - Alpha)) / 255), ((lSrcG * Alpha) / 255) + ((lDstG * (255 - Alpha)) / 255), ((lSrcB * Alpha) / 255) + ((lDstB * (255 - Alpha)) / 255))

End Property


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合亚洲欧洲| 日韩欧美色电影| 在线电影欧美成精品| 欧美不卡一区二区三区四区| 欧美高清在线一区二区| 一区二区三区在线免费播放| 午夜精品久久久久久久99水蜜桃| 国产在线播放一区三区四| 色综合久久综合中文综合网| 日韩美女视频在线| **欧美大码日韩| 久久精品久久99精品久久| 成人深夜在线观看| 欧美日韩1区2区| 亚洲啪啪综合av一区二区三区| 日韩不卡手机在线v区| 成人黄动漫网站免费app| 欧美三级中文字| 国产精品免费丝袜| 亚洲精品中文在线观看| 国产精品一线二线三线| 欧美日韩一级黄| 亚洲婷婷国产精品电影人久久| 蓝色福利精品导航| 欧洲视频一区二区| 1000精品久久久久久久久| 男女男精品网站| 欧美人狂配大交3d怪物一区| 中文字幕在线一区| 另类成人小视频在线| 欧美日韩亚洲另类| 中文字幕亚洲一区二区va在线| 麻豆国产一区二区| 欧美日韩国产一级片| 亚洲图片你懂的| www.综合网.com| 欧美国产一区二区在线观看 | 亚洲精品日日夜夜| 久久se精品一区二区| 欧美日韩在线综合| 亚洲一区二区三区视频在线播放| 国产成人精品免费| 久久九九99视频| 免费不卡在线视频| 制服.丝袜.亚洲.中文.综合| 亚洲成a人在线观看| 精品婷婷伊人一区三区三| 欧美国产禁国产网站cc| 国产精品综合在线视频| 精品99久久久久久| 国产综合久久久久久久久久久久| 日韩一级精品视频在线观看| 日韩和欧美一区二区三区| 欧美人伦禁忌dvd放荡欲情| 天堂av在线一区| 91精品国产免费| 久久se精品一区二区| 久久久www成人免费无遮挡大片| 日韩专区欧美专区| 欧美精品一级二级三级| 美脚の诱脚舐め脚责91 | 亚洲精品videosex极品| 国产精品亚洲成人| 国产精品剧情在线亚洲| 国产一区二区三区免费观看| 久久香蕉国产线看观看99| 精品午夜一区二区三区在线观看| 久久婷婷国产综合国色天香| 国产成人免费视频| 中国av一区二区三区| 99久久精品99国产精品| 亚洲综合无码一区二区| 在线成人小视频| 精品一区二区三区蜜桃| 欧美激情一区二区三区不卡| 一本一道波多野结衣一区二区| 亚洲午夜激情网站| 精品99999| 欧美三区免费完整视频在线观看| 日精品一区二区| 日韩久久免费av| 成人av在线播放网站| 国产精品乱人伦一区二区| 91麻豆精品91久久久久同性| 久久国产麻豆精品| 国产精品高潮久久久久无| 在线视频欧美区| 亚洲视频每日更新| 日韩欧美在线影院| 91天堂素人约啪| 久久99国产精品麻豆| 亚洲区小说区图片区qvod| 26uuu精品一区二区| 国产一区在线不卡| 五月天中文字幕一区二区| 国产日韩欧美高清| 91精品国产综合久久小美女| 成人一级黄色片| 蜜臀av性久久久久av蜜臀妖精| 1区2区3区国产精品| 欧美丰满高潮xxxx喷水动漫| 国产宾馆实践打屁股91| 美女视频黄a大片欧美| 一区二区三区四区五区视频在线观看| 欧美不卡视频一区| 欧美剧情片在线观看| 成人爽a毛片一区二区免费| 日韩专区在线视频| 亚洲国产精品久久人人爱| 国产精品无码永久免费888| 精品国产免费一区二区三区四区| 色乱码一区二区三区88| 成人性生交大片免费看在线播放| 日韩中文字幕区一区有砖一区| 亚洲精品伦理在线| 国产精品久久久久久久浪潮网站 | 国产精品一区二区不卡| 午夜精品久久久久久久久| 久久精品免费在线观看| 欧美mv日韩mv亚洲| 欧美一区二视频| 制服丝袜激情欧洲亚洲| 欧美日韩国产成人在线91| www.亚洲激情.com| 蜜臀av国产精品久久久久| 日韩电影在线免费观看| 亚洲一区二区黄色| 亚洲一卡二卡三卡四卡五卡| 亚洲精品你懂的| 国产农村妇女精品| 国产精品丝袜黑色高跟| 久久精品一区二区三区不卡牛牛| 精品国产乱子伦一区| 久久女同互慰一区二区三区| 久久奇米777| 欧美激情中文字幕一区二区| 欧美激情综合五月色丁香| 国产精品电影一区二区三区| 中文字幕五月欧美| 一区二区在线观看视频| 亚洲精品少妇30p| 亚洲成人动漫在线观看| 强制捆绑调教一区二区| 视频精品一区二区| 久久超碰97人人做人人爱| 国产一区不卡精品| 成人高清视频在线| 色呦呦一区二区三区| 欧美猛男男办公室激情| 欧美一区二区三区爱爱| xfplay精品久久| 国产精品欧美精品| 一区二区三区产品免费精品久久75| 亚洲综合久久久久| 蜜桃视频在线观看一区二区| 国产一区二区按摩在线观看| a级精品国产片在线观看| 91行情网站电视在线观看高清版| 欧美欧美欧美欧美首页| 欧美mv和日韩mv的网站| 中文字幕视频一区| 免费在线观看视频一区| 国产风韵犹存在线视精品| 色成年激情久久综合| 欧美成人a∨高清免费观看| 精品国产91亚洲一区二区三区婷婷 | 欧美日韩一区二区不卡| 7777精品久久久大香线蕉| 久久久久久**毛片大全| 亚洲制服欧美中文字幕中文字幕| 亚洲国产精品久久人人爱蜜臀| 性久久久久久久| 国产大陆亚洲精品国产| 99riav久久精品riav| 日韩精品在线一区二区| 中文乱码免费一区二区| 日韩专区中文字幕一区二区| av一区二区三区| 日韩精品一区二区三区四区| 亚洲视频在线一区观看| 九九在线精品视频| 色域天天综合网| 久久久91精品国产一区二区精品 | 婷婷国产v国产偷v亚洲高清| 日韩影院免费视频| 九九久久精品视频| 欧美日韩精品系列| 国产精品女人毛片| 一区二区三区四区蜜桃| 国产精品一区二区免费不卡| av成人老司机| 久久久久久久久久久久久夜| 午夜精品一区二区三区电影天堂| 丁香婷婷综合网| 欧美草草影院在线视频| 亚洲欧美视频一区| 成人av在线播放网址| 久久久久久久久一| 韩国成人精品a∨在线观看| 91精品国产手机|