Form1.frm
资源名称:ncombo2.zip [点击查看]
上传用户:huyzong
上传日期:2007-01-02
资源大小:7k
文件大小:7k
源码类别:
组合框控件
开发平台:
Visual C++
- VERSION 5.00
- Object = "{7B914A58-6271-11D2-86B8-0040055C08D9}#1.0#0"; "XPropertiesWnd.ocx"
- Begin VB.Form Form1
- Caption = "Form1"
- ClientHeight = 6540
- ClientLeft = 7740
- ClientTop = 2070
- ClientWidth = 4920
- LinkTopic = "Form1"
- ScaleHeight = 6540
- ScaleWidth = 4920
- Begin XPROPERTIESWNDLib.XPropertiesWnd FunctionxProp
- Height = 2655
- Left = 120
- TabIndex = 3
- Top = 3360
- Width = 4695
- _Version = 65536
- _ExtentX = 8281
- _ExtentY = 4683
- _StockProps = 5
- BackColor = 8421504
- BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
- Name = "Tahoma"
- Size = 8.25
- Charset = 0
- Weight = 400
- Underline = 0 'False
- Italic = 0 'False
- Strikethrough = 0 'False
- EndProperty
- PagesAndItems = "InheritedClasses#{#}#"
- Animation = -1 'True
- BeginProperty ItemFont {0BE35203-8F91-11CE-9DE3-00AA004BB851}
- Name = "Tahoma"
- Size = 8.25
- Charset = 0
- Weight = 400
- Underline = 0 'False
- Italic = 0 'False
- Strikethrough = 0 'False
- EndProperty
- End
- Begin VB.CommandButton Open
- Caption = "Open"
- Height = 375
- Left = 4200
- TabIndex = 2
- Top = 6120
- Width = 615
- End
- Begin VB.TextBox FileName
- Height = 375
- Left = 120
- TabIndex = 1
- Text = "C:_usersMihaiProjectActiveXXFloorWndVersion 1.02DebugXFloorWnd.ocx"
- Top = 6120
- Width = 3975
- End
- Begin XPROPERTIESWNDLib.XPropertiesWnd TypeLibxProp
- Height = 3135
- Left = 120
- TabIndex = 0
- TabStop = 0 'False
- Top = 120
- Width = 4695
- _Version = 65536
- _ExtentX = 8281
- _ExtentY = 5530
- _StockProps = 5
- BackColor = 8421504
- BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
- Name = "Tahoma"
- Size = 8.25
- Charset = 0
- Weight = 400
- Underline = 0 'False
- Italic = 0 'False
- Strikethrough = 0 'False
- EndProperty
- AsFloor = 0 'False
- BeginProperty ItemFont {0BE35203-8F91-11CE-9DE3-00AA004BB851}
- Name = "Tahoma"
- Size = 8.25
- Charset = 0
- Weight = 400
- Underline = 0 'False
- Italic = 0 'False
- Strikethrough = 0 'False
- EndProperty
- End
- End
- Attribute VB_Name = "Form1"
- Attribute VB_GlobalNameSpace = False
- Attribute VB_Creatable = False
- Attribute VB_PredeclaredId = True
- Attribute VB_Exposed = False
- Option Explicit
- Dim a As New Lib2Me
- Dim l() As LClass
- Dim f(100, 100) As LFunction
- Dim sKinds As Variant
- Dim sInvokeKinds As Variant
- Dim sClassKinds As Variant
- Private Sub Form_Load()
- FunctionxProp.PagesAndItems = "Inherited#{#}#General#{#IDEditEnable#KindEditEnable#InvokeKindEditEnable#ParameterCountEditEnable#ReturnTypeEditEnable#}#Parameters#{#}#"
- TypeLibxProp.AsFloor = False
- End Sub
- Private Sub Open_Click()
- sKinds = Array("Virtual", "PureVirtual", "NonVirtual", "Static", "Dispatch")
- sInvokeKinds = Array("Method", "Get", "Put", "PutRef")
- sClassKinds = Array("Enum", "Record", "Module", "Interface", "Dispatch", "Coclass", "Alias", "Union", "Max")
- Dim li As LClass
- Dim fij As LFunction
- Dim iPage As Integer
- iPage = 0
- Dim s As String
- a.Load FileName
- Dim i As Integer
- i = 0
- TypeLibxProp.Visible = False
- Do
- Set li = a.Class(i)
- If Not (li Is Nothing) Then
- s = li.Name()
- iPage = TypeLibxProp.AddPage(s + " - " + sClassKinds(li.Kind()))
- Dim j As Integer
- Dim iProp As Integer
- j = 0
- Do
- Set fij = li.Function(j)
- If (Not (fij Is Nothing)) Then
- iProp = TypeLibxProp.InsertProperty(iPage, -1, fij.Name(), "Edit", 2)
- TypeLibxProp.SetDefaultValue iPage, iProp, fij.Documentation()
- Set f(i, j) = fij
- j = j + 1
- End If
- Loop Until fij Is Nothing
- TypeLibxProp.InsertProperty iPage, -1, "-- Variables --", "Edit", 1
- Dim v As LVariable
- j = 0
- Set v = li.Variable(j)
- While Not (v Is Nothing)
- iProp = TypeLibxProp.InsertProperty(iPage, -1, v.Name(), "Edit", 2)
- TypeLibxProp.SetDefaultValue iPage, iProp, v.Type()
- j = j + 1
- Set v = li.Variable(j)
- Wend
- ReDim Preserve l(i)
- Set l(i) = li
- i = i + 1
- End If
- Loop Until li Is Nothing
- TypeLibxProp.Visible = True
- End Sub
- Private Sub TypeLibxProp_SelectItem(ByVal nIndexPage As Integer, ByVal nIndexItem As Integer)
- Dim fij As LFunction
- Set fij = f(nIndexPage, nIndexItem)
- If Not (fij Is Nothing) Then
- FunctionxProp.Visible = False
- FunctionxProp.SetDefaultValueByName "Kind", sKinds(fij.Kind())
- FunctionxProp.SetDefaultValueByName "InvokeKind", sInvokeKinds(Log(fij.InvokeKind() / Log(2)))
- FunctionxProp.SetDefaultValueByName "ParameterCount", fij.ParameterCount()
- FunctionxProp.SetDefaultValueByName "ID", fij.ID
- FunctionxProp.SetDefaultValueByName "ReturnType", fij.ReturnType()
- Dim iPage As Integer
- iPage = 2
- Do While FunctionxProp.DeleteProperty(iPage, 0)
- Loop
- Dim i As Integer
- Dim p As LParameter
- Dim iProp As Integer
- i = 0
- Do
- Set p = fij.Parameter(i)
- If Not (p Is Nothing) Then
- iProp = FunctionxProp.InsertProperty(iPage, -1, p.Name(), "Edit", 2)
- FunctionxProp.SetDefaultValue iPage, iProp, p.Type()
- i = i + 1
- End If
- Loop Until p Is Nothing
- FunctionxProp.Visible = True
- End If
- End Sub
- Private Sub TypeLibxProp_SelectPage(ByVal nIndex As Integer)
- Dim iPage As Integer
- iPage = 0
- If TypeLibxProp.Visible() Then
- Do While FunctionxProp.DeleteProperty(iPage, 0)
- Loop
- Dim i As Integer
- For i = 0 To l(nIndex).CountInheritedClass - 1
- FunctionxProp.InsertProperty iPage, -1, l(nIndex).InheritedClass(i).Name, "Edit", 0
- Next
- End If
- End Sub