Eine der wichtigsten und mächtigsten Möglichkeiten des Designers sind der Formelassistent und die dort angebotenen Funktionen. Mit Hilfe einer speziellen List & Label-Komponente für das OCX ist es zudem möglich, ganz individuelle Funktionen in den Designer einzubinden. Um das Control verwenden zu können, müssen Sie die Datei cmll30fx.ocx in Ihre IDE einbinden.
Zum Hinzufügen einer neuen Funktion fügen Sie zur Designzeit diese Komponente auf einem Formular ein. Im Eigenschaftsfenster dieser Komponente können Sie nun die notwendigen Parameter einstellen.
Eigenschaft |
Beschreibung |
Name |
Der eindeutige Name der Designerfunktion |
Description |
Eine zusätzliche Beschreibung der Funktion für den Formelassistenten |
GroupName |
Die Gruppe in der die Funktion im Formelassistenten angezeigt wird |
Visible |
Gibt an, ob die Funktion im Assistenten angezeigt wird oder nicht |
MinimumParameters |
Die minimale Anzahl von Parametern. Gültig sind Werte zwischen 0 und 4. |
MaximumParameters |
Die maximale Anzahl von Parametern. Gültig sind auch hier Werte zwischen 0 und 4. Der Wert muss gleich oder größer der minimalen Anzahl sein. Eine größere Anzahl ergibt optionale Parameter. |
ResultType |
Der Datentyp des Rückgabewerts |
Mit Hilfe der Eigenschaften können Sie die neue Designerfunktion individuell einstellen. Die Parameter für die Designerfunktionen werden im Quellcode festgelegt. Dies kann wie folgt aussehen:
Visual Basic:
Private Sub InitializeDesFunction()
Dim param1 As DesignerFunctionsParameter
Dim param2 As DesignerFunctionsParameter
Set param1 =
DesFunc_Add.Parameter1
param1.Description = "First Value"
param1.Type =
LlParamType.ParamType_Double
Set param2 =
DesFunc_Add.Parameter2
param2.Description = "Second Value"
param2.Type =
LlParamType.ParamType_Double
DesFunc_Add.ParentComponent =
ListLabel1
End Sub
Um die Funktion schließlich zum Leben zu erwecken, müssen Sie das Ereignis DesFunc_Add_EvaluateFunction behandeln. Über die Ereignisargumente erhalten Sie Zugriff auf die vom Benutzer eingegebenen Parameter. Um beispielsweise die Summe der beiden Parameter zurück zu liefern, verwenden Sie folgende Zeilen:
Visual Basic:
Private Sub
DesFunc_Add_EvaluateFunction(ResultValue As Variant,
ResultType As CMLL30FXLibCtl.LlParamType,
DecimalPositions As Long,
ByVal Parameters As Long, ByVal Parameter1 As Variant,
ByVal Parameter2 As Variant, ByVal Parameter3 As Variant,
ByVal Parameter4 As Variant)
ResultValue = CDbl(Parameter1) +
CDbl(Parameter2)
ResultType =
ParamType_Double
End Sub
Zwei weitere Ereignisse erlauben Ihnen optional eine weitergehende Anpassung der Funktion. Über DesFunc_Add_CheckFunctionSyntax können Sie eine Syntaxprüfung vornehmen. Hier können Sie die Datentypen der Parameter überprüfen und beispielsweise sicherstellen, dass die Parameter in einem bestimmten Bereich liegen. Über DesFunc_Add_ParameterAutoComplete ist es möglich, verschiedene Vorschlagswerte für das AutoComplete-Feature des Formelassistenten vorzugeben.