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

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

?? xpbutton.ctl

?? 超市銷售管理系統(tǒng) 4) 文檔里面有完整的需求說明書
?? CTL
?? 第 1 頁 / 共 5 頁
字號:
End Function

Friend Sub TimerUpdate(lvTimerID As Long)

' pretty good way to determine when cursor moves outside of any shape region
' especially useful for my diagonal/round buttons since they are not your typical
' rectangular shape.

Dim mousePt As POINTAPI, cRect As RECT
GetCursorPos mousePt
If WindowFromPoint(mousePt.x, mousePt.y) <> UserControl.hwnd Then
    ' when exits button area, kill the timer
    KillTimer UserControl.hwnd, lvTimerID
    myProps.bStatus = myProps.bStatus And Not 4
    bTimerActive = False
    bNoRefresh = False
    RaiseEvent MouseOnButton(False)
    bKeyDown = False
    Refresh
End If
End Sub

Private Sub CalculateBoundingRects(adjWidth As Long, bFullRecalc As Boolean, Optional lEdge As Long)

' Routine measures and places the rectangles to draw
' the caption and image on the control. The results
' are cached so this routine doesn't need to run
' every time the button is redrawn/painted

Dim cRect As RECT, tRect As RECT, iRect As RECT
Dim imgOffset As RECT, bImgWidthAdj As Boolean, bImgHeightAdj As Boolean
Dim rEdge As Long, iEdge As Long

' calculations needed for diagonal buttons
Select Case myProps.bShape
Case lv_RightDiagonal
    rEdge = myProps.bSegPts.y + ((ScaleWidth - myProps.bSegPts.y) \ 3)
    adjWidth = rEdge
Case lv_LeftDiagonal
    lEdge = myProps.bSegPts.x - (myProps.bSegPts.x \ 3)
    rEdge = ScaleWidth
    adjWidth = ScaleWidth - lEdge
Case lv_FullDiagonal
    lEdge = myProps.bSegPts.x - (myProps.bSegPts.x \ 3)
    rEdge = myProps.bSegPts.y + ((ScaleWidth - myProps.bSegPts.y) \ 3)
    adjWidth = rEdge - lEdge
Case Else
    adjWidth = myProps.bSegPts.y
    rEdge = ScaleWidth
End Select
' return variables to drawing switchboard
If Not bFullRecalc Then Exit Sub

If (myImage.SourceSize.x + myImage.SourceSize.y) > 0 Then
    ' image in use, calculations for image rectangle
    If myImage.Size < 33 Then
        Select Case myImage.Align
        Case lv_LeftEdge, lv_LeftOfCaption
            imgOffset.Left = myImage.Size
            bImgWidthAdj = True
        Case lv_RightEdge, lv_RightOfCaption
            imgOffset.Right = myImage.Size
            bImgWidthAdj = True
        Case lv_TopCenter
            imgOffset.Top = myImage.Size
            bImgHeightAdj = True
        Case lv_BottomCenter
            imgOffset.Bottom = myImage.Size
            bImgHeightAdj = True
        End Select
    End If
End If


If Len(myProps.bCaption) Then
    Dim sCaption As String  ' note: Replace$ not compatible with VB5
    sCaption = Replace$(myProps.bCaption, "||", vbNewLine)
    ' calculate total available button width available for text
    cRect.Right = adjWidth - 12 - (myImage.Size * Abs(CInt(bImgWidthAdj)))
    cRect.Bottom = ScaleHeight - 12 - (myImage.Size * Abs(CInt(bImgHeightAdj = True And myImage.Align > lv_RightOfCaption)))
    ' calculate size of rectangle to hold that text, using multiline flag
    'DrawText ButtonDC.hDC, sCaption, Len(sCaption), cRect, DT_CALCRECT Or DT_WORDBREAK
    'Modify for Chinese
       'th = UserControl.TextHeight("gW")
       'th = UserControl.TextWidth("W")
       'tn = LenB(StrConv(elTex, vbFromUnicode))

    DrawText ButtonDC.hDC, sCaption, LenB(StrConv(sCaption, vbFromUnicode)), cRect, DT_CALCRECT Or DT_WORDBREAK
    
    If myProps.bCaptionStyle Then
        cRect.Right = cRect.Right + 2
        cRect.Bottom = cRect.Bottom + 2
    End If
End If

' now calculate the position of the text rectangle
If Len(myProps.bCaption) Then
    tRect = cRect
    Select Case myProps.bCaptionAlign
    Case vbLeftJustify
        OffsetRect tRect, imgOffset.Left + lEdge + 6 + (Abs(CInt(imgOffset.Left > 0) * 6)), 0
    Case vbRightJustify
        OffsetRect tRect, rEdge - imgOffset.Right - 6 - cRect.Right - (Abs(CInt(imgOffset.Right > 0) * 6)), 0
    Case vbCenter
        If imgOffset.Left > 0 And myImage.Align = lv_LeftOfCaption Then
            OffsetRect tRect, (adjWidth - (imgOffset.Left + cRect.Right + 6)) \ 2 + lEdge + 6 + imgOffset.Left, 0
        Else
            If imgOffset.Right > 0 And myImage.Align = lv_RightOfCaption Then
                OffsetRect tRect, (adjWidth - (imgOffset.Right + cRect.Right + 6)) \ 2 + lEdge, 0
            Else
                OffsetRect tRect, ((adjWidth - (imgOffset.Left + imgOffset.Right)) - cRect.Right) \ 2 + lEdge + imgOffset.Left, 0
            End If
        End If
    End Select
Else
    cRect.Bottom = -3
End If
If (myImage.SourceSize.x + myImage.SourceSize.y) > 0 Then
    ' finalize image rectangle position
    Select Case myImage.Align
    Case lv_LeftEdge
        iRect.Left = lEdge + 6
    Case lv_LeftOfCaption
        If Len(myProps.bCaption) Then
            iRect.Left = tRect.Left - 6 - imgOffset.Left
        Else
            iRect.Left = lEdge + 6
        End If
    Case lv_RightOfCaption
        If Len(myProps.bCaption) Then
            iRect.Left = tRect.Right + 6
        Else
            iRect.Left = rEdge - 6 - imgOffset.Right
        End If
    Case lv_RightEdge
        iRect.Left = rEdge - 6 - imgOffset.Right
    Case lv_TopCenter
        iRect.Top = (ScaleHeight - (cRect.Bottom + imgOffset.Top)) \ 2
        OffsetRect tRect, 0, iRect.Top + 2 + imgOffset.Top
    Case lv_BottomCenter
        iRect.Top = (ScaleHeight - (cRect.Bottom + imgOffset.Bottom)) \ 2 + cRect.Bottom + 3
        OffsetRect tRect, 0, iRect.Top - 2 - cRect.Bottom
    End Select
    If myImage.Align < lv_TopCenter Then
        OffsetRect tRect, 0, (ScaleHeight - cRect.Bottom) \ 2
        iRect.Top = (ScaleHeight - myImage.Size) \ 2
    Else
        iRect.Left = (adjWidth - myImage.Size) \ 2 + lEdge
    End If
    iRect.Right = iRect.Left + myImage.Size
    iRect.Bottom = iRect.Top + myImage.Size
Else
    OffsetRect tRect, 0, (ScaleHeight - cRect.Bottom) \ 2
End If
' sanity checks
If tRect.Top < 6 Then tRect.Top = 6
If tRect.Left < 6 Then tRect.Left = 6
If tRect.Right > rEdge Then tRect.Right = rEdge
If tRect.Bottom > ScaleHeight - 6 Then tRect.Bottom = ScaleHeight - 6
myProps.bRect = tRect
If iRect.Top < 6 Then iRect.Top = 6
If iRect.Left < 6 Then iRect.Left = 6
If iRect.Right > rEdge Then iRect.Right = rEdge
If iRect.Bottom > ScaleHeight - 6 Then iRect.Bottom = ScaleHeight - 6
myImage.iRect = iRect
End Sub

Private Sub GetSetOffDC(bSet As Boolean)

' This sets up our off screen DC & pastes results onto our control.

If bSet = True Then
    If ButtonDC.hDC = 0 Then
        ButtonDC.hDC = CreateCompatibleDC(UserControl.hDC)
        SetBkMode ButtonDC.hDC, 3&
        ' by pulling these objects now, we ensure no memory leaks &
        ' changing the objects as needed can be done in 1 line of code
        ' in the SetButtonColors routine
        ButtonDC.OldBrush = SelectObject(ButtonDC.hDC, CreateSolidBrush(0&))
        ButtonDC.OldPen = SelectObject(ButtonDC.hDC, CreatePen(0&, 1&, 0&))
        GetGDIMetrics "Font"
    End If
    If ButtonDC.OldBitmap = 0 Then
        Dim hBmp As Long
        hBmp = CreateCompatibleBitmap(UserControl.hDC, ScaleWidth, ScaleHeight)
        ButtonDC.OldBitmap = SelectObject(ButtonDC.hDC, hBmp)
    End If
Else
    BitBlt UserControl.hDC, 0, 0, ScaleWidth, ScaleHeight, ButtonDC.hDC, 0, 0, vbSrcCopy
End If
End Sub

Private Sub DrawRect(m_hDC As Long, ByVal X1 As Long, ByVal Y1 As Long, _
                                   ByVal X2 As Long, ByVal Y2 As Long, _
                                   tColor As Long, Optional pColor As Long = -1, _
                                   Optional PenWidth As Long = 0, Optional PenStyle As Long = 0)

' Simple routine to draw a rectangle

If pColor <> -1 Then SetButtonColors True, m_hDC, cObj_Pen, pColor, , PenWidth, , PenStyle
SetButtonColors True, m_hDC, cObj_Brush, tColor, (pColor = -1)
Call Rectangle(m_hDC, X1, Y1, X2, Y2)
End Sub


Private Sub SetButtonColors(bSet As Boolean, m_hDC As Long, TypeObject As ColorObjects, lColor As Long, _
    Optional bSamePenColor As Boolean = True, Optional PenWidth As Long = 1, _
    Optional bSwapPens As Boolean = False, Optional PenStyle As Long = 0)

' This is the basic routine that sets a DC's pen, brush or font color

' here we store the most recent "sets" so we can reset when needed
Dim tBrush As Long, tPen As Long
If bSet Then    ' changing a DC's setting
    Select Case TypeObject
    Case cObj_Brush         ' brush is being changed
        DeleteObject SelectObject(ButtonDC.hDC, CreateSolidBrush(lColor))
        If bSamePenColor Then   ' if the pen color will be the same
            DeleteObject SelectObject(ButtonDC.hDC, CreatePen(PenStyle, PenWidth, lColor))
        End If
    Case cObj_Pen   ' pen is being changed (mostly for drawing lines)
        DeleteObject SelectObject(ButtonDC.hDC, CreatePen(PenStyle, PenWidth, lColor))
    Case cObj_Text  ' text color is changing
        SetTextColor m_hDC, ConvertColor(lColor)
    End Select
Else            ' resetting the DC back to the way it was
    DeleteObject SelectObject(ButtonDC.hDC, ButtonDC.OldBrush)
    DeleteObject SelectObject(ButtonDC.hDC, ButtonDC.OldPen)
End If
End Sub

Private Function ConvertColor(tColor As Long) As Long

' Converts VB color constants to real color values

If tColor < 0 Then
    ConvertColor = GetSysColor(tColor And &HFF&)
Else
    ConvertColor = tColor
End If
End Function

Private Sub CreateButtonRegion()

' this function creates the regions for the specific type of button style

Dim rgnA As Long, rgnB As Long, rgn2Use As Long
Dim lRatio As Single, lEdge As Long, rEdge As Long, Wd As Long
Dim ptTRI(0 To 9) As POINTAPI

myProps.bSegPts.x = 0
myProps.bSegPts.y = ScaleWidth
rgnB = CreateRectRgn(0, 0, 0, 0)

If ButtonDC.ClipRgn Then
    ' this was set for round buttons
    SelectClipRgn ButtonDC.hDC, 0
    DeleteObject ButtonDC.ClipRgn
    ButtonDC.ClipRgn = 0
End If
Select Case myProps.bShape
  Case lv_Round3D, lv_Round3DFixed, lv_RoundFlat
    rgn2Use = CreateEllipticRgn(0, 0, ScaleWidth + 1, ScaleHeight + 1)
    ButtonDC.ClipRgn = CreateEllipticRgn(2 - Abs(myProps.bShape < lv_RoundFlat), 2 - Abs(myProps.bShape < lv_RoundFlat), ScaleWidth - 1 + Abs(myProps.bShape < lv_RoundFlat), ScaleHeight - 1 + Abs(myProps.bShape < lv_RoundFlat))
  Case lv_Rectangular
    rgn2Use = CreateRectRgn(0, 0, ScaleWidth + 1, ScaleHeight + 1)
    Select Case myProps.bBackStyle
        Case 1 'Windows 16-bit
            GoSub LopOffCorners1
            GoSub LopOffCorners2
        Case 2, 7
            GoSub LopOffCorners3
            GoSub LopOffCorners4
        Case 3    'Java
            If UserControl.Enabled Then
                GoSub LopOffCorners1
                GoSub LopOffCorners2
            End If
    End Select
  
  Case Else
    ' here is my trick for ensuring a sharp edge on diagonal buttons.
    ' Basically a bastardized carpenters formula for right angles
    ' (i.e., 3+4=5 < the hypoteneus). Here I want a 60 degree angle,
    ' and not a 45 degree angle. The difference is sharp or choppy.
    ' Based off of the button height, I need to figure how much of
    ' the opposite end I need to cutoff for the diagonal edge
    lRatio = (ScaleHeight + 1) / 4
    Wd = ScaleWidth
    lEdge = (4 * lRatio)
    ' here we ensure a width of at least 5 pixels wide
    Do While Wd - lEdge < 5
        Wd = Wd + 5
    Loop
    If Wd <> ScaleWidth Then
        ' resize the control if necessary
        DelayDrawing True
        UserControl.Width = ScaleX(Wd, vbPixels, Parent.ScaleMode)
        myProps.bSegPts.y = ScaleWidth
        bNoRefresh = False
    End If
    rEdge = ScaleWidth - lEdge
    ' initial dimensions of our rectangle
    ptTRI(0).x = 0: ptTRI(0).y = 0
    ptTRI(1).x = 0
    ptTRI(1).y = ScaleHeight + 1
    ptTRI(2).x = ScaleWidth + 1
    ptTRI(2).y = ScaleHeight + 1
    ptTRI(3).x = ScaleWidth + 1
    ptTRI(3).y = 0
    ' now modify the left/right side as needed
    If myProps.bShape = lv_FullDiagonal Or myProps.bShape = lv_LeftDiagonal Then
        ptTRI(1).x = lEdge  ' left portion
        myProps.bSegPts.x = lEdge
    End If
    If myProps.bShape = lv_FullDiagonal Or myProps.bShape = lv_RightDiagonal Then
        ptTRI(3).x = rEdge + 1        ' bottom right

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产日韩综合久久精品| 久久一夜天堂av一区二区三区 | 亚洲亚洲人成综合网络| 99久久综合国产精品| 国产精品免费视频网站| 不卡一区二区在线| 亚洲精品免费播放| 欧美综合在线视频| 日韩高清国产一区在线| 欧美精品一区二区不卡| 国产91对白在线观看九色| 国产精品久久久久永久免费观看 | 日本怡春院一区二区| 欧美一区二区三区免费大片 | 国产一区中文字幕| 国产日韩三级在线| 91美女片黄在线观看91美女| 亚洲自拍偷拍麻豆| 日韩欧美黄色影院| 成人动漫一区二区在线| 亚洲尤物在线视频观看| 欧美一二三四区在线| 国产一区二区福利视频| 成人免费一区二区三区视频| 精品污污网站免费看| 黄色资源网久久资源365| 日本一区二区免费在线观看视频| 色综合久久久网| 国产激情视频一区二区在线观看| 亚洲国产精品成人久久综合一区| 色婷婷久久久综合中文字幕| 青椒成人免费视频| 国产精品污污网站在线观看| 欧美日韩一级二级三级| 国产精品影视网| 一区二区理论电影在线观看| 精品国产乱码久久久久久浪潮| 9人人澡人人爽人人精品| 日本aⅴ亚洲精品中文乱码| 国产精品乱人伦中文| 91精品久久久久久久久99蜜臂| 成人手机电影网| 男人的天堂亚洲一区| 亚洲欧美一区二区在线观看| 欧美一区二区性放荡片| 99精品欧美一区| 国内不卡的二区三区中文字幕| 一区二区三区成人| 国产欧美综合在线观看第十页| 欧美人xxxx| 91蜜桃网址入口| 国产精品一区二区你懂的| 婷婷开心久久网| 亚洲欧美一区二区三区孕妇| 精品88久久久久88久久久| 欧美色图天堂网| 9i在线看片成人免费| 精品午夜一区二区三区在线观看| 亚洲国产精品久久人人爱| 中文幕一区二区三区久久蜜桃| 日韩一区二区三区四区| 欧美性大战久久| 99精品在线免费| 国产成人精品一区二| 美女看a上一区| 日韩电影在线观看电影| 亚洲综合图片区| 亚洲精品国产成人久久av盗摄| 国产精品素人一区二区| 国产色一区二区| 久久久蜜臀国产一区二区| 欧美电影免费观看高清完整版在| 欧美久久一二区| 欧美日韩一区久久| 欧美日韩国产高清一区二区 | 国产精品小仙女| 美国三级日本三级久久99| 丝袜亚洲另类欧美综合| 亚洲gay无套男同| 亚洲超丰满肉感bbw| 亚洲va韩国va欧美va| 日日骚欧美日韩| 日韩av一级片| 久久国产精品99久久久久久老狼| 日韩高清欧美激情| 黄色精品一二区| 国产东北露脸精品视频| 国产91在线看| av电影在线观看一区| 色av一区二区| 欧美日韩在线播放一区| 日韩一级在线观看| 精品日韩99亚洲| 国产亚洲精品aa午夜观看| 国产精品乱码一区二三区小蝌蚪| 国产精品护士白丝一区av| 亚洲精品第1页| 亚洲1区2区3区视频| 麻豆视频观看网址久久| 国精产品一区一区三区mba桃花| 国精产品一区一区三区mba视频 | av亚洲精华国产精华精华| 成人黄色免费短视频| 91蝌蚪国产九色| 欧美日韩免费一区二区三区视频| 欧美疯狂做受xxxx富婆| 久久久一区二区| 亚洲婷婷综合久久一本伊一区| 亚洲小说春色综合另类电影| 人禽交欧美网站| 国产超碰在线一区| 欧洲国内综合视频| 精品三级在线观看| 亚洲精品一二三| 麻豆高清免费国产一区| 暴力调教一区二区三区| 欧美丰满嫩嫩电影| 久久久99久久| 亚洲成人免费视频| 床上的激情91.| 欧美日韩久久久久久| 国产亚洲欧美日韩日本| 亚洲激情一二三区| 国产揄拍国内精品对白| 色综合中文字幕国产 | 精品国产制服丝袜高跟| 中文字幕一区二区三区不卡| 日韩av一区二区在线影视| 成人av在线观| 欧美成人福利视频| 一区二区三区中文免费| 国产福利视频一区二区三区| 欧美性大战久久久久久久蜜臀| 久久久久久久一区| 日韩高清一级片| 色婷婷av一区二区三区大白胸| 精品国产一区久久| 婷婷综合另类小说色区| 91在线丨porny丨国产| 精品不卡在线视频| 午夜日韩在线电影| 色哟哟日韩精品| 国产日产欧美一区| 久99久精品视频免费观看| 欧美日韩在线直播| 亚洲欧美经典视频| 成av人片一区二区| 26uuu亚洲婷婷狠狠天堂| 日韩精品每日更新| 欧美三级蜜桃2在线观看| 国产精品高潮呻吟| 处破女av一区二区| 欧美激情综合五月色丁香 | 国产大陆精品国产| 欧美tk—视频vk| 日本aⅴ免费视频一区二区三区| 在线观看日韩av先锋影音电影院| 国产日韩av一区二区| 极品少妇xxxx偷拍精品少妇| 91精品国产91久久久久久一区二区| 亚洲免费在线播放| 99国产精品一区| 中文字幕一区二区三中文字幕| 国产精品亚洲成人| 国产欧美一二三区| 国产99久久精品| 欧美韩国日本不卡| 丁香五精品蜜臀久久久久99网站| 日韩一区二区在线观看视频 | 日韩一区二区电影| 蜜臀国产一区二区三区在线播放| 在线成人免费观看| 日本亚洲天堂网| 3751色影院一区二区三区| 午夜激情综合网| 欧美一区二区精品久久911| 日本欧美韩国一区三区| 日韩欧美黄色影院| 国产寡妇亲子伦一区二区| 国产精品无人区| 色天使色偷偷av一区二区| 亚洲精品ww久久久久久p站| 欧美在线一二三| 日韩国产欧美在线视频| 日韩欧美国产电影| 国产宾馆实践打屁股91| 亚洲欧美一区二区三区久本道91| 91国在线观看| 丝袜美腿亚洲综合| 精品成人一区二区| eeuss影院一区二区三区| 一区二区三区在线不卡| 7777精品伊人久久久大香线蕉最新版 | 337p粉嫩大胆噜噜噜噜噜91av | 一区二区三区四区国产精品| 欧美中文字幕一区二区三区| 另类小说一区二区三区| 国产亚洲欧美中文| 在线一区二区三区| 久久国产人妖系列|