|
Option Explicit
Private mControlObject As Object
Private mControlInformation As SearchResults
Private mProperty As String
Private Sub cmdÄndern_Click()
CallByName mControlObject, mProperty, VbLet, CVar(Me.txtWert.Text)
End Sub
Private Sub Form_Load()
Dim Control As Object
For Each Control In Me.Controls
If Control.Container Is Me.fraBeispiele Then _
Me.lstSteuerelemente.AddItem Control.Name
Next Control
End Sub
Private Sub lstEigenschaften_Click()
mProperty = Me.lstEigenschaften.Text
With mControlInformation
With .Item(.Locate(mProperty))
If .InvokeKinds And INVOKE_FUNC Then
Me.lblArt.Caption = "Funktion"
Me.lblWert.Enabled = False
Me.txtWert.Enabled = False
Me.txtWert.Text = vbNullString
Me.cmdÄndern.Enabled = False
ElseIf .InvokeKinds And INVOKE_PROPERTYGET Then
Me.lblWert.Enabled = True
Me.txtWert.Enabled = True
On Error Goto PropertyReadError
Me.txtWert.Text = CStr(CallByName(mControlObject, mProperty, _
VbGet))
On Error Goto 0
If CBool(.InvokeKinds And INVOKE_PROPERTYPUT) Or CBool( _
.InvokeKinds And INVOKE_PROPERTYPUTREF) Then
Me.lblArt.Caption = "Eigenschaft"
Me.txtWert.Locked = False
Me.cmdÄndern.Enabled = True
Else
Me.lblArt.Caption = "Schreibgeschützte Eigenschaft"
Me.txtWert.Locked = True
Me.cmdÄndern.Enabled = False
End If
End If
End With
End With
Exit Sub
PropertyReadError:
Me.txtWert.Text = "Fehler"
Resume Next
End Sub
Private Sub lstSteuerelemente_Click()
Dim Item As SearchItem
Set mControlObject = Me.Controls.Item(Me.lstSteuerelemente.Text)
Set mControlInformation = InterfaceInfoFromObject( _
mControlObject).Members.GetFilteredMembers
With Me.lstEigenschaften
.Clear
For Each Item In mControlInformation
.AddItem Item.Name
Next Item
Me.lblEigenschaften.Enabled = True
.Enabled = True
End With
Me.lblWert.Enabled = False
Me.txtWert.Enabled = False
Me.cmdÄndern.Enabled = False
End Sub
|