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

📄 modcontrols.bas

📁 一款VB 工具
💻 BAS
📖 第 1 页 / 共 2 页
字号:
            cListIndex = 16
            ' Call AddText("Begin VB.Line " & cControlHeader.cName)
        Case vbImage                                       '= 24
            cListIndex = 12
            '  Call AddText("Begin VB.Image " & cControlHeader.cName)
        Case vbData                                        '= 37
            cListIndex = 5

        Case vbOLE                                         '= 38
            cListIndex = 20

        Case vbUserControl                                 '= 40
            cListIndex = 29

        Case vbPropertyPage                                '= 41
            cListIndex = 24

        Case vbUserDocument                                '= 42
            cListIndex = 30

        Case 255                                           'external control

            'Load the control view COM if its on the computer

            Seek f, fPos + cControlHeader.length           ' - 2

    End Select
    Set tliTypeInfo = tliTypeLibInfo.GetTypeInfo(Replace(Replace(frmMain.lstTypeInfos.List(cListIndex), "<", ""), ">", ""))
    'Use the ItemData in lstTypeInfos to set the SearchData for lstMembers
    tliTypeLibInfo.GetMembersDirect frmMain.lstTypeInfos.ItemData(cListIndex), frmMain.lstMembers.hwnd, , , True
    FileLen = Loc(f) - fPos
    FileLen = cControlHeader.length - FileLen

    Dim bCode As Byte                                      'holds gui opcode
    Dim varHold As Variant                                 'Holds the different data types
    Dim strHold As String                                  'holds the string
    Dim strReturnType As String                            'holds the return type
    'Do While FileLen > 1
    Do While Loc(f) < (fPos + cControlHeader.length - 2)

        bCode = frmMain.GetOpcode(f)                       'Get the guiopcode

        FileLen = FileLen - 1
        Dim g As Integer
        For g = 0 To frmMain.lstMembers.ListCount - 1


            'Control Postion opcode
            If bCode = 4 And cControlHeader.cType = vbDirectoryListbox Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For
            End If
            If bCode = 4 And cControlHeader.cType = vbListbox Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For
            End If
            If bCode = 4 And cControlHeader.cType = vbDriveListbox Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For
            End If
            If bCode = 4 And cControlHeader.cType = vbFileListbox Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For
            End If
            If bCode = 4 And cControlHeader.cType = vbTextBox Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For
            End If
            If bCode = 4 And cControlHeader.cType = vbCommandbutton Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For
            End If
            If bCode = 5 And cControlHeader.cType = vbPictureBox Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For
            End If
            If bCode = 5 And cControlHeader.cType = vbComboBox Then

                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For

            End If

            If bCode = 5 And cControlHeader.cType = vbOptionbutton Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For
            End If
            If bCode = 5 And cControlHeader.cType = vbFrame Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For
            End If
            If bCode = 5 And cControlHeader.cType = vbCheckbox Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For
            End If
            If bCode = 5 And cControlHeader.cType = vbLabel Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For
            End If
            If bCode = 7 And cControlHeader.cType = vbTimer Then
                AddText "Left=" & GetLong(f)
                FileLen = FileLen - 4
                Exit For
            End If
            If bCode = 8 And cControlHeader.cType = vbTimer Then
                AddText "Top=" & GetLong(f)
                FileLen = FileLen - 4
                Exit For
            End If
            If bCode = 2 And cControlHeader.cType = vbHscroll Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For

            End If
            If bCode = 2 And cControlHeader.cType = vbVscroll Then
                Call frmMain.GetControlSize(f)
                FileLen = FileLen - 8
                Exit For

            End If
            If bCode = 37 And cControlHeader.cType = vbLabel Then
                'Font
                Call frmMain.GetFontProperty(f)
                Exit For
            End If
            If bCode = 64 And cControlHeader.cType = vbForm Then
                'Font
                Call frmMain.GetFontProperty(f)
                Exit For
            End If
            If cControlHeader.cType = vbCommandbutton And bCode = 29 Then
                Call frmMain.GetFontProperty(f)
                Exit For
            End If
            If cControlHeader.cType = vbPictureBox And bCode = 57 Then
                Call frmMain.GetFontProperty(f)
                Exit For
            End If
            If cControlHeader.cType = vbTextBox And bCode = 46 Then
                Call frmMain.GetFontProperty(f)
                Exit For
            End If
            If cControlHeader.cType = vbFrame And bCode = 4 Then

                'Call AddText("ForeColor=" & GetLong(f))
                Exit For
            End If

            If ReturnGuiOpcode(frmMain.lstTypeInfos.ItemData(cListIndex), tliInvokeKinds, frmMain.lstMembers.List(g)) = bCode Then
                Dim strExtraInfo As String
                Dim strHelp As String

                'Com Hack Check
                strReturnType = Trim(ReturnDataType(frmMain.lstTypeInfos.ItemData(cListIndex), tliInvokeKinds, frmMain.lstMembers.List(g)))
                strHelp = modCOM.ReturnHelpString(frmMain.lstTypeInfos.ItemData(cListIndex), tliInvokeKinds, frmMain.lstMembers.List(g))
                For k = 0 To UBound(gComFix)
                    If frmMain.lstTypeInfos.List(cListIndex) = gComFix(k).ObjectName And frmMain.lstMembers.List(g) = gComFix(k).PropertyName Then
                        strReturnType = gComFix(k).NewType

                        Exit For
                    End If
                Next

                If InStr(1, strReturnType, "Byte") Then
                    varHold = GetByte2(f)
                    'Call AddText(lstMembers.List(g) & " = " & varHold & strExtraInfo)
                    Call modGlobals.AddPropertyToTheList(frmMain.lstMembers.List(g), varHold, "Byte", Loc(f) - 1, strHelp)
                    FileLen = FileLen - 1
                    Exit For
                End If
                If InStr(1, strReturnType, "Boolean") Then
                    varHold = GetBoolean(f)

                    If varHold = True Then
                        varHold = False
                        'Call AddText(lstMembers.List(g) & " = " & -1 & strExtraInfo)
                        Call modGlobals.AddPropertyToTheList(frmMain.lstMembers.List(g), varHold, "Boolean", Loc(f) - 2, strHelp)
                    Else
                        varHold = True
                        'Call AddText(lstMembers.List(g) & " = " & 0 & strExtraInfo)
                        Call modGlobals.AddPropertyToTheList(frmMain.lstMembers.List(g), varHold, "Boolean", Loc(f) - 2, strHelp)
                    End If
                    Seek f, Loc(f)
                    FileLen = FileLen - 2
                    Exit For
                End If
                If InStr(1, strReturnType, "Integer") Then
                    varHold = gVBFile.GetInteger(Loc(f))
                    'varHold = GetInteger(f)
                    'Call AddText(lstMembers.List(g) & " = " & varHold & strExtraInfo)
                    Call modGlobals.AddPropertyToTheList(frmMain.lstMembers.List(g), varHold, "Integer", Loc(f) - 2, strHelp)
                    FileLen = FileLen - 2
                    Exit For
                End If
                If InStr(1, strReturnType, "Long") Then
                    varHold = GetLong(f)
                    'Call AddText(lstMembers.List(g) & " = " & varHold & strExtraInfo)
                    Call modGlobals.AddPropertyToTheList(frmMain.lstMembers.List(g), varHold, "Long", Loc(f) - 4, strHelp)
                    FileLen = FileLen - 4
                    Exit For
                End If

                If InStr(1, strReturnType, "Single") Then
                    varHold = GetSingle(f)
                    'Call AddText(lstMembers.List(g) & " = " & varHold & strExtraInfo)
                    Call modGlobals.AddPropertyToTheList(frmMain.lstMembers.List(g), varHold, "Single", Loc(f) - 4, strHelp)
                    FileLen = FileLen - 4
                    Exit For
                End If

                If InStr(1, strReturnType, "String") Then

                    ''Seek f, Loc(f) + 3
                    ''strHold = GetUntilNull(f)
                    strHold = GetAllString(f)
                    'Call AddText(lstMembers.List(g) & " = " & Chr(34) & strHold & Chr(34) & strExtraInfo)
                    Call modGlobals.AddPropertyToTheList(frmMain.lstMembers.List(g), strHold, "String", Loc(f), strHelp)
                    FileLen = FileLen - Len(strHold) - 3
                    Exit For
                End If
                If InStr(1, strReturnType, "stdole.Picture") Then

                    varHold = GetLong(f)

                    If varHold <> -1 Then

                        If cControlHeader.cName <> strCurrentForm Then
                            Call frmMain.GetStdPicture(f, varHold, strCurrentForm & "." & cControlHeader.cName, strCurrentForm, 0)
                        Else
                            Call frmMain.GetStdPicture(f, varHold, cControlHeader.cName, strCurrentForm, 0)
                        End If


                        'Call AddText(lstMembers.List(g) & "=" & Chr(34) & strCurrentForm & ".frx" & Chr(34) & ":" & frxAddress & strExtraInfo)
                        Seek f, Loc(f)
                        FileLen = FileLen - varHold + 1    ' - 18

                    Else
                        FileLen = FileLen - 4
                    End If
                    Exit For
                End If


                Exit For

            End If

            'Get height width top left
            If bCode = 53 Then
                '53 is the size opcode for form's
                Dim objectSize As ControlSize
                Get f, , objectSize
                FileLen = FileLen - 16

                If cControlHeader.cType = vbForm Then
                    ' Call AddText("ClientLeft = " & objectSize.clientLeft)
                    ' Call AddText("ClientTop = " & objectSize.clientTop)
                    ' Call AddText("ClientWidth = " & objectSize.clientWidth)
                    ' Call AddText("ClientHeight = " & objectSize.clientHeight)
                End If

                Exit For
            End If
        Next
    Loop


    'Get the seperator type for the end of the control

    cControlEnd = GetInteger(f)

    FileLen = FileLen - 2
    Close f
    '##########################################
    'End of Form/Control Properties Loop
    '##########################################
End Sub

⌨️ 快捷键说明

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