Eine der wichtigsten und mächtigsten Möglichkeiten des Designers sind der Formelassistent und die dort angebotenen Funktionen. Mit Hilfe einer speziellen List & Label-VCL-Komponente ist es zudem möglich, ganz individuelle Funktionen in den Designer einzubinden.
Zum Hinzufügen einer neuen Funktion fügen Sie in der Entwicklungsumgebung 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. | |
Parameter1 – 4 |
Jeder der bis zu vier Parameter kann individuell konfiguriert werden. | |
|
Type |
Der Datentyp des Parameters |
|
Description |
Eine Beschreibung des Parameters für die Tooltip-Hilfe im Designer |
ResultType |
Der Datentyp des Rückgabewerts |
Mithilfe der Eigenschaften können Sie die neue Designerfunktion individuell einstellen. Um die Funktion schließlich zum Leben zu erwecken, müssen Sie das Ereignis OnEvaluateFunction behandeln. Über die Ereignisargumente erhalten Sie Zugriff auf die vom Benutzer eingegebenen Parameter. Um beispielsweise die römische Ziffer zurück zu liefern, verwenden Sie folgende Zeilen:
Delphi:
procedure
TDesExtForm.RomanNumberEvaluateFunction(Sender:
TObject;
var ResultType:
TLl30XFunctionParameterType;
var
ResultValue: OleVariant;
var
DecimalPositions: Integer; const ParameterCount:
Integer;
const Parameter1, Parameter2,
Parameter3, Parameter4:
OleVariant);
begin
ResultValue:=ToRoman(Parameter1);
end;
Zwei weitere Ereignisse erlauben Ihnen optional eine weitergehende Anpassung der Funktion. Über OnCheckFunctionSyntax 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 OnParameterAutoComplete ist es möglich, verschiedene Vorschlagswerte für das AutoComplete-Feature des Formelassistenten vorzugeben.