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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? objdraw.cls

?? print打印功能.實(shí)現(xiàn)套打,請下載查看具體的功能介紹.
?? 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 = "ObjDraw"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Attribute VB_Ext_KEY = "Member0" ,"RECT"
Option Explicit

'保持屬性值的局部變量(局部復(fù)制)
Private mvarHandls As New ObjHds
Private mvarIsActive As Boolean
Private mvarIsCurrent As Boolean
Private mvarHdCount As Integer
Private mvarnID As Long
Private mvareType As ObjType
Private mvarIsDrawing As Boolean
Private mvarIsSizing As Boolean
Private mvarObjCtl As Object
Private mvarLocked As Boolean
Private mvarIsDraging As Boolean
Private mvarOldX As Single
Private mvarOldY As Single
Private mvarActHdID As Integer
Private mvarColor As Long
Private mvarWidth As Integer
Private mvarStyle As Integer

'自用變量
Private mvarRect As RECTAPI
Private m_Swap As Integer

Private Const NULL_BRUSH = 5
Private Const PS_SOLID = 0
Private Const R2_NOT = 6
Private Const PS_DOT = 2
Private Const PS_DASH = 1
Private Const PS_DASHDOT = 3
Private Const PS_DASHDOTDOT = 4

Private Const SWAP_NONE = &H0
Private Const SWAP_X = &H1
Private Const SWAP_Y = &H2

'Rect Check Function
Private Declare Function IntersectRect Lib "user32" (lpDestRect As RECTAPI, lpSrc1Rect As RECTAPI, lpSrc2Rect As RECTAPI) As Long

'Rect Draw Function
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function GetStockObject Lib "gdi32" (ByVal nIndex As Long) As Long
Private Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long
Private Declare Function SetROP2 Lib "gdi32" (ByVal hdc As Long, ByVal nDrawMode As Long) As Long
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

'Convert Function
Private Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Private Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long

'Cursor Fucntion
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
'保持屬性值的局部變量
Private mvarEditFalg As Integer '修改標(biāo)記
Private mvarPrinted As Boolean '局部復(fù)制

Private mvarFix As Boolean
Private mvarDataType As Integer
Private mvarScroll As Boolean
Private mvarSumed As Boolean
Private mvarSumPage As Boolean
Private mvarFormat As String
Private mvarClip As Boolean

Public Property Get Clip() As Boolean
    Clip = mvarClip
End Property

Public Property Let Clip(ByVal vData As Boolean)
    mvarClip = vData
End Property

'IsFixed
Public Property Let IsFix(vData As Boolean)
    mvarFix = vData
    If Not mvarFix Then mvarSumed = False: mvarScroll = False: mvarSumPage = False
End Property

Public Property Get IsFix() As Boolean
    IsFix = mvarFix
End Property

'DataType
Public Property Let DataType(vData As Integer)
    mvarDataType = vData
End Property

Public Property Get DataType() As Integer
    DataType = mvarDataType
End Property

'IsScrolled
Public Property Let IsScroll(vData As Boolean)
    mvarScroll = vData
    If IsScroll Then mvarSumed = False: mvarSumPage = False
End Property

Public Property Get IsScroll() As Boolean
    IsScroll = mvarScroll
End Property

'Sumed
Public Property Get Sumed() As Boolean
    Sumed = mvarSumed
End Property

Public Property Let Sumed(vData As Boolean)
    mvarSumed = vData
    If Not mvarSumed Then mvarSumPage = False
End Property

'SumedPage
Public Property Get SumedPage() As Boolean
    SumedPage = mvarSumPage
End Property

Public Property Let SumedPage(vData As Boolean)
    mvarSumPage = vData
End Property

'Format
Public Property Let Format(vData As String)
    mvarFormat = vData
End Property

Public Property Get Format() As String
    Format = mvarFormat
End Property

'Printed
Public Property Let Printed(ByVal vData As Boolean)
    mvarPrinted = vData
End Property

Public Property Get Printed() As Boolean
    Printed = mvarPrinted
End Property

'mvarEditFalg
Public Property Let EditFlag(ByVal vData As Integer)
    mvarEditFalg = vData
End Property

Public Property Get EditFlag() As Integer
    EditFlag = mvarEditFalg
End Property

'Public Property Let ActTxtKey(ByVal vData As String)
'    mvarActTxtKey = vData
'End Property
'
'Public Property Get ActTxtKey() As String
'    ActTxtKey = mvarActTxtKey
'End Property
'
'Public Property Let ActText(ByVal vData As Boolean)
'    mvarActText = vData
'End Property
'
'Public Property Get ActText() As Boolean
'    ActText = mvarActText
'End Property

'ActHdID
Public Property Let ActHdID(ByVal vData As Integer)
    mvarActHdID = vData
End Property
Public Property Get ActHdID() As Integer
    ActHdID = mvarActHdID
End Property

'BStyle
Public Property Let BStyle(ByVal vData As Integer)
    mvarStyle = vData
End Property

Public Property Get BStyle() As Integer
    BStyle = mvarStyle
End Property

'BWidth
Public Property Let BWidth(ByVal vData As Integer)
    mvarWidth = vData
End Property

Public Property Get BWidth() As Integer
    BWidth = mvarWidth
End Property

'FColor
Public Property Let FColor(ByVal vData As Long)
    mvarColor = vData
End Property

Public Property Get FColor() As Long
    FColor = mvarColor
End Property

'OldY
Public Property Let OldY(ByVal vData As Single)
    mvarOldY = vData
End Property
Public Property Get OldY() As Single
    OldY = mvarOldY
End Property

'OldX
Public Property Let OldX(ByVal vData As Single)
    mvarOldX = vData
End Property
Public Property Get OldX() As Single
    OldX = mvarOldX
End Property

'IsDraging
Public Property Let IsDraging(ByVal vData As Boolean)
    mvarIsDraging = vData
    If mvarIsDraging Then If mvarEditFalg = -1 Then mvarEditFalg = 1
End Property
Public Property Get IsDraging() As Boolean
    IsDraging = mvarIsDraging
End Property

'Locked
Public Property Let Locked(ByVal vData As Boolean)
    mvarLocked = vData
    If mvarLocked Then
        SetHdState IIf(mvarIsCurrent, -2, -1)
    Else
        SetHdState IIf(mvarIsCurrent, 1, 0)
    End If
End Property
Public Property Get Locked() As Boolean
    Locked = mvarLocked
End Property

'ObjCtl
Public Property Set ObjCtl(ByVal vData As Object)
    Set mvarObjCtl = vData
End Property
Public Property Get ObjCtl() As Object
    Set ObjCtl = mvarObjCtl
End Property

'IsSizing
Public Property Let IsSizing(ByVal vData As Boolean)
    mvarIsSizing = vData
    If mvarIsSizing Then If mvarEditFalg = -1 Then mvarEditFalg = 1
End Property
Public Property Get IsSizing() As Boolean

    IsSizing = mvarIsSizing
End Property

'IsDrawing
Public Property Let IsDrawing(ByVal vData As Boolean)
    mvarIsDrawing = vData
    'If mvarIsDrawing Then mvarEditFalg = 0
End Property
Public Property Get IsDrawing() As Boolean
    IsDrawing = mvarIsDrawing
End Property

'eType
Public Property Let eType(ByVal vData As Integer)
    mvareType = vData
End Property
Public Property Get eType() As Integer
    eType = mvareType
End Property

'nID
Public Property Let nID(ByVal vData As Long)
    mvarnID = vData
End Property
Public Property Get nID() As Long
    nID = mvarnID
End Property

'HdCount
Public Property Let HdCount(ByVal vData As Integer)
    mvarHdCount = vData
End Property
Public Property Get HdCount() As Integer
    Select Case eType
        Case 1: mvarHdCount = 2
        Case Else: mvarHdCount = 8
    End Select
    HdCount = mvarHdCount
End Property

'設(shè)置手柄狀態(tài) tmpstate= 0 正常, 1 當(dāng)前, -1 鎖定,-2 當(dāng)前鎖定
Private Sub SetHdState(tmpstate As Integer)
Dim tmphd As ObjHd
Dim tmpcount As Integer
    tmpcount = HdCount
    For Each tmphd In mvarHandls
        If tmphd.HdID < tmpcount Then tmphd.nState = tmpstate
    Next
End Sub

'IsCurrent
Public Property Let IsCurrent(ByVal vData As Boolean)
    mvarIsCurrent = vData
    If Not mvarIsActive And mvarIsCurrent Then IsActive = True
    If Not mvarObjCtl Is Nothing Then
        If mvarIsCurrent Then
            SetHdState IIf(mvarLocked, -2, 1)
            mvarHandls.ZOrder
        Else
            SetHdState IIf(mvarLocked, -1, 0)
        End If
   End If
End Property
Public Property Get IsCurrent() As Boolean
    IsCurrent = mvarIsCurrent
End Property

'IsActive
Public Property Let IsActive(ByVal vData As Boolean)
    mvarIsActive = vData
    If mvarIsActive And Not mvarObjCtl Is Nothing Then
        If mvarLocked Then
            SetHdState IIf(mvarIsCurrent, -2, -1)
        Else
            SetHdState IIf(mvarIsCurrent, 1, 0)
        End If
    End If
    If Not mvarIsActive Then mvarIsCurrent = False
    If Not mvarObjCtl Is Nothing Then ShowHd (vData)
    If mvareType = mObjText And Not mvarObjCtl Is Nothing Then mvarObjCtl.BorderStyle = IIf(mvarIsActive Or Trim(mvarObjCtl.Caption) = "", 1, 0)

End Property
Public Property Get IsActive() As Boolean
    IsActive = mvarIsActive
End Property

'Handls
Public Property Set Handls(ByVal vData As ObjHds)
    Set mvarHandls = vData
End Property
Public Property Get Handls() As ObjHds
    Set Handls = mvarHandls
End Property

'開始畫
Public Sub OnStartDraw(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim tmpindex As Integer
    mvarOldX = X
    mvarOldY = Y
    IsDrawing = True
    With mvarRect
        Select Case mvareType
            Case mObjSelect:
                .Left = X
                .Top = Y
                .Right = X
                .Bottom = Y
                Call TwipsToScreen(g_ActFrm.hwnd, mvarRect)
                Call DrawDragRect(mvarRect, True)
            Case mObjLine:
                .Left = X
                .Top = Y
                tmpindex = g_ActFrm.ObjLine.UBound + 1
                Load g_ActFrm.ObjLine(tmpindex)
                Set mvarObjCtl = g_ActFrm.ObjLine(tmpindex)
            Case mObjText:
                tmpindex = g_ActFrm.ObjText.UBound + 1
                Load g_ActFrm.ObjText(tmpindex)
                g_ActFrm.ObjText(tmpindex).BorderStyle = 1
                mvarnID = tmpindex
                Set mvarObjCtl = g_ActFrm.ObjText(tmpindex)
            Case mObjImg:
                tmpindex = g_ActFrm.ObjImg.UBound + 1
                Load g_ActFrm.ObjImg(tmpindex)
                g_ActFrm.ObjImg(tmpindex).Stretch = True
                g_ActFrm.ObjImg(tmpindex).BorderStyle = 1
                mvarnID = tmpindex
                Set mvarObjCtl = g_ActFrm.ObjImg(tmpindex)
        End Select
    End With
End Sub

'正在畫
Public Sub OnDrawing(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim tmprect As RECTAPI
    Select Case mvareType
        Case mObjSelect:
            g_ActFrm.PicPage.Cls
            Call TwipsToScreen(g_ActFrm.PicPage.hwnd, mvarRect)
            Call DrawDragRect(mvarRect, True)
            With mvarRect
                .Left = mvarOldX
                .Top = mvarOldY
                .Right = X
                .Bottom = Y
            End With
        Case mObjLine:
            g_ActFrm.PicPage.Cls
            g_ActFrm.PicPage.Line (mvarOldX, mvarOldY)-(X, Y)
        Case mObjText, mObjImg:
            With tmprect
                .Left = mvarOldX
                .Top = mvarOldY
                .Right = X
                .Bottom = Y
            End With
            Call SetCtrlToRect(mvarObjCtl, tmprect)
            mvarObjCtl.Visible = True
    End Select
End Sub

'結(jié)束畫
Public Sub OnEndDraw(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim tmpindex As Long
    With mvarRect
        .Right = X
        .Bottom = Y
        Select Case mvareType
            Case mObjSelect:
            Case mObjLine:
                tmpindex = g_ActFrm.ObjLine.UBound
                mvarnID = tmpindex
                g_ActFrm.PicPage.Cls
                mvarObjCtl.x1 = .Left
                mvarObjCtl.y1 = .Top
                mvarObjCtl.x2 = .Right
                mvarObjCtl.y2 = .Bottom
                mvarObjCtl.Visible = True
                Call LoadHd
                Call MoveHd
                IsActive = True
            Case mObjText, mObjImg:
                Call LoadHd
                Call MoveHd
                IsActive = True
        End Select
    End With
    mvarIsDrawing = False
End Sub

'開始拖動

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国产丝袜在线播放| 91在线观看成人| 亚洲一区二区精品3399| 亚洲色图色小说| 国产精品国产成人国产三级 | 欧美tickle裸体挠脚心vk| 欧美剧情片在线观看| 欧美精品精品一区| 91麻豆精品国产91久久久久| 911精品国产一区二区在线| 欧美军同video69gay| 日韩美女一区二区三区四区| 久久日一线二线三线suv| 国产视频一区二区在线| 亚洲视频免费观看| 首页国产欧美久久| 国产一区视频网站| 成人ar影院免费观看视频| 成av人片一区二区| 欧美日韩一级二级三级| 日韩一区二区电影| 欧美极品xxx| 亚洲一区二区欧美日韩 | 丰满亚洲少妇av| 色综合久久中文综合久久牛| 欧美日韩精品综合在线| 久久综合色天天久久综合图片| 久久精品人人做| 亚洲一区在线观看免费| 麻豆精品一区二区综合av| 国产福利一区在线| 欧美三级韩国三级日本一级| 久久中文字幕电影| 夜夜嗨av一区二区三区中文字幕| 日本在线观看不卡视频| 99久久综合色| 日韩一级高清毛片| 一级日本不卡的影视| 狠狠色综合播放一区二区| 色婷婷综合久色| 国产午夜精品久久久久久久| 亚洲va韩国va欧美va精品| 成人午夜精品一区二区三区| 欧美日韩性生活| 亚洲图片欧美激情| 国产精品主播直播| 91精品免费在线观看| 亚洲欧美色一区| 国产成a人无v码亚洲福利| 日韩免费观看2025年上映的电影 | 日韩午夜精品视频| 亚洲精品福利视频网站| 成人中文字幕合集| 久久夜色精品国产噜噜av| 全国精品久久少妇| 欧美日韩五月天| 亚洲欧美偷拍卡通变态| 波多野洁衣一区| 久久久久国产成人精品亚洲午夜| 亚洲二区在线观看| 91成人在线精品| 自拍av一区二区三区| 东方aⅴ免费观看久久av| 日韩美女视频一区二区在线观看| 五月综合激情婷婷六月色窝| 欧美午夜不卡视频| 亚洲国产成人高清精品| 精品欧美一区二区三区精品久久| 婷婷激情综合网| 精品视频一区三区九区| 一区二区免费在线| 欧美亚洲图片小说| 一区二区日韩av| 精品1区2区3区| 日韩高清在线电影| 日韩一区二区免费在线电影| 六月丁香婷婷久久| 精品少妇一区二区三区视频免付费 | 日本韩国欧美三级| 亚洲精品久久久蜜桃| 在线精品视频免费播放| 亚洲影视在线播放| 91精品国产综合久久久久久久| 丝袜美腿亚洲色图| 精品久久久久99| 国产乱一区二区| 成人免费一区二区三区视频| 色综合色狠狠天天综合色| 亚洲国产欧美在线| 欧美精品在线视频| 国产美女娇喘av呻吟久久| 久久久久99精品国产片| 99国产精品久久久| 午夜精品影院在线观看| 日韩精品中文字幕在线不卡尤物| 老司机精品视频导航| 日本一区二区成人| 欧美三级日韩三级国产三级| 美女精品一区二区| 中文字幕va一区二区三区| 日本道在线观看一区二区| 免费人成在线不卡| 中文字幕一区二区三区在线观看 | 99国产精品国产精品久久| 亚洲一级二级三级在线免费观看| 欧美精品日韩精品| 成人app软件下载大全免费| 亚洲一区在线电影| 国产亚洲综合av| 欧美色电影在线| 欧美日韩国产首页在线观看| 精品一区二区三区香蕉蜜桃| 亚洲国产精品v| 欧美另类z0zxhd电影| 福利一区二区在线| 美女脱光内衣内裤视频久久影院| 国产日韩高清在线| 欧美日韩国产高清一区| 成人一道本在线| 蜜桃一区二区三区在线| 亚洲日本护士毛茸茸| 久久嫩草精品久久久精品| 欧美日韩国产美| 成人精品高清在线| 精品在线免费视频| 亚洲一区二区av电影| 国产精品久久久久影院色老大| 日韩欧美中文字幕公布| 欧美中文字幕一二三区视频| 风流少妇一区二区| 国产美女在线观看一区| 日韩中文欧美在线| 亚洲精品免费在线播放| 国产精品剧情在线亚洲| 2019国产精品| 日韩午夜三级在线| 91精品国产美女浴室洗澡无遮挡| 色综合久久99| 91丨porny丨户外露出| 成人免费毛片aaaaa**| 国内精品第一页| 精品一区二区三区香蕉蜜桃| 蜜臀精品久久久久久蜜臀| 日韩精品电影在线| 视频一区二区三区入口| 亚洲成av人**亚洲成av**| 亚洲一区二区高清| 婷婷综合在线观看| 爽好久久久欧美精品| 日韩高清一区二区| 蓝色福利精品导航| 国产一区二区精品久久99| 国产精品1区二区.| 成人午夜在线视频| 9l国产精品久久久久麻豆| 99re成人在线| 色琪琪一区二区三区亚洲区| 日本乱码高清不卡字幕| 欧美日韩一区成人| 日韩视频一区二区三区| 欧美va亚洲va国产综合| 久久精品亚洲乱码伦伦中文| 国产日韩欧美一区二区三区综合| 国产欧美日韩综合| 亚洲欧美综合在线精品| 亚洲国产人成综合网站| 免费xxxx性欧美18vr| 国产大片一区二区| 色天使色偷偷av一区二区| 欧美视频自拍偷拍| wwwwww.欧美系列| 亚洲欧美怡红院| 香蕉乱码成人久久天堂爱免费| 久久电影网站中文字幕 | 中文字幕一区二区三| 亚洲一本大道在线| 老色鬼精品视频在线观看播放| 成人精品视频一区二区三区| 日本高清不卡一区| 欧美成人猛片aaaaaaa| 欧美国产日韩精品免费观看| 亚洲国产aⅴ天堂久久| 国模无码大尺度一区二区三区| 99久久久精品| 欧美电视剧免费观看| 亚洲日本在线a| 精品一区二区影视| 欧美在线观看视频一区二区三区| 欧美mv日韩mv国产网站app| 亚洲激情综合网| 国产一区二区不卡在线| 欧美精品九九99久久| 国产精品免费视频观看| 喷水一区二区三区| 91精品福利在线| 欧美国产视频在线| 麻豆精品一区二区三区| 欧美四级电影在线观看| ...av二区三区久久精品| 九九国产精品视频|