Zum Hauptinhalt springen

EvtHyphenate

EvtHyphenate

Details

info

Das Ereignis steht nur unter Windows-Betriebssystemen zur Verfügung, die die Datei msftedit.dll mit mindestens der Version 5.41.15.1515 verwenden. Die Version kann im Info-Dialog des Designers ermittelt werden.

Das Ereignis wird ausgelöst, wenn eine Silbentrennung innerhalb eines RtfEdit -Objekts erfolgen soll.

Damit das Ereignis ausgelöst werden kann, muss es beim Application -Objekt mit der Anweisung WinEvtProcNameSet () eingetragen werden. Beim RtfEdit -Objekt muss die Eigenschaft HyphMarginTwips gesetzt sein.

Definition des Funktionskopfs:

sub EvtHyphenate
(
aEvt : event; // Ereignis, aEvt:Obj = _App
aWord : alpha; // Zu trennendes Wort
aPrimLang : word; // Primäre Sprache (_LclLang-Konstante)
aSubLang : word; // Untersprache (_LclSubLang-Konstante)
aExceed : int; // Index des Zeichens, das zum Umbruch führt
aHyphResult : byte; // Resultat der Silbentrennung
aHyphIndex : int; // Index des 1. Zeichens, nach der Trennung
aHyphChar : int; // Ersetzungszeichen
)
: logic; // Silbentrennung durchführen?
{
return(true);
}

aEvt

In diesem Übergabeparameter vom Typ event wird unter anderem der Deskriptor des auslösenden Objekts, d. h. das Objekt, in dem die Ereignisfunktion eingetragen wurde, übergeben. In diesem Fall ist es das Application -Objekt.

aWord

Hier wird das Wort übergeben, das getrennt werden soll. Das Ereignis wird zu dem Zeitpunkt ausgelöst, in dem es zum Zeilenumbruch kommt. D. h. in aWord steht nicht das vollständige Wort, sondern nur der Teil des Wortes, der bisher eingegeben wurde. Die maximale Länge des Wortes muss angegeben werden. Wird hier nichts angegeben, können höchstens 80 Zeichen übergeben werden.

aPrimLang und aSubLang

Hier wird die primäre und die sekundäre Sprache übergeben. Die übergebenen Werte können mit den _LclLang...- bzw. _LclSubLang...-Konstanten verglichen werden.

aExceed

Dies ist die Position des Zeichens, das zu dem Zeilenumbruch geführt hat. Der Trennstrich würde als vor diesem Zeichen stehen.

aHyphResult, aHyphIndex und aHyphChar

Diese Parameter werden nicht vom Ereignis gesetzt, sondern müssen in der Ereignis-Funktion gesetzt werden. Sie bestimmen das Verhalten bei der Silbentrennung.

  • aHyphResult #_WinHyphNIL Wird der Wert _WinHyphNIL gesetzt, findet keine Silbentrennung statt. Weitere Angaben in den Parametern aHyphIndex und aHyphChar werden ignoriert.
  • aHyphResult #_WinHyphNormal Wird der Wert _WinHyphNormal gesetzt, findet eine normale Trennung der Silben statt. In dem Parameter aHyphIndex wird die Position angegeben, nach der getrennt werden soll. Der Wert von aHyphIndex liegt im Bereich 1 bis aExceed - 1.
  • aHyphResult #_WinHyphAddBefore Wird der Wert _WinHyphAddBefore gesetzt, findet eine normale Trennung der Silben statt. In dem Parameter aHyphIndex wird die Position angegeben, nach der getrennt werden soll. Der Wert von aHyphIndex liegt im Bereich 1 bis aExceed - 1. Vor dem Trennstrich wird der in aHyphChar angegebene Buchstabe eingefügt.
  • aHyphResult #_WinHyphChangeBefore Wird der Wert _WinHyphChangeBefore gesetzt, findet eine normale Trennung der Silben statt. In dem Parameter aHyphIndex wird die Position angegeben, nach der getrennt werden soll. Der Wert von aHyphIndex liegt im Bereich 1 bis aExceed - 1. Der Buchstabe vor dem Trennstrich wird durch den in aHyphChar angegebenen Buchstaben ersetzt.
  • aHyphResult #_WinHyphDeleteBefore Wird der Wert _WinHyphDeleteBefore gesetzt, findet eine normale Trennung der Silben statt. In dem Parameter aHyphIndex wird die Position angegeben, nach der getrennt werden soll. Der Wert von aHyphIndex liegt im Bereich 1 bis aExceed - 1. Der Buchstabe vor dem Trennstrich wird entfernt.
  • aHyphResult #_WinHyphChangeAfter Wird der Wert _WinHyphChangeAfter gesetzt, findet eine normale Trennung der Silben statt. In dem Parameter aHyphIndex wird die Position angegeben, nach der getrennt werden soll. Der Wert von aHyphIndex liegt im Bereich 1 bis aExceed - 1. Der Buchstabe hinter dem Trennstrich wird durch den in aHyphChar angegebenen Buchstaben ersetzt.
  • aHyphResult #_WinHyphDelAndChange Wird der Wert _WinHyphDelAndChange gesetzt, findet eine normale Trennung der Silben statt. In dem Parameter aHyphIndex wird die Position angegeben, nach der getrennt werden soll. Der Wert von aHyphIndex liegt im Bereich 1 bis aExceed - 1. Die beiden Buchstaben vor dem Trennstrich werden durch den in aHyphChar angegebenen Buchstaben ersetzt.

Resultat

Damit die durch aHyphResult, aHyphIndex und aHyphChar definierten Rückgabewerte wirksam werden, muss das Ereignis true zurückgeben. Ein Wert von false entspricht aHyphResult_WinHyphNIL.

Beispiele: