📄 modcontrols.bas
字号:
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 + -