EvtHyphenate
EvtHyphenate
Details
- Name: Typ Beschreibung
- aEvt:
eventEreignisinformationen - aWord:
alphazu trennendes Wort - aPrimLang:
wordPrimäre Sprache - aSubLang:
wordSekundäre Sprache - aExceed:
intIndex des Zeichens, das zum Umbruch führt - aHyphResult:
byteResultat der Silbentrennung - aHyphIndex:
intIndex des ersten Zeichens nach der Trennung - aHyphChar:
intErsetzungszeichen - Resultat:
logicSilbentrennung durchführen? - Siehe: Liste , Objekte , Ereignisbefehle
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 #_WinHyphNILWird der Wert_WinHyphNILgesetzt, findet keine Silbentrennung statt. Weitere Angaben in den ParameternaHyphIndexundaHyphCharwerden ignoriert.aHyphResult #_WinHyphNormalWird der Wert_WinHyphNormalgesetzt, findet eine normale Trennung der Silben statt. In dem ParameteraHyphIndexwird die Position angegeben, nach der getrennt werden soll. Der Wert vonaHyphIndexliegt im Bereich1bisaExceed-1.aHyphResult #_WinHyphAddBeforeWird der Wert_WinHyphAddBeforegesetzt, findet eine normale Trennung der Silben statt. In dem ParameteraHyphIndexwird die Position angegeben, nach der getrennt werden soll. Der Wert vonaHyphIndexliegt im Bereich1bisaExceed-1. Vor dem Trennstrich wird der inaHyphCharangegebene Buchstabe eingefügt.aHyphResult #_WinHyphChangeBeforeWird der Wert_WinHyphChangeBeforegesetzt, findet eine normale Trennung der Silben statt. In dem ParameteraHyphIndexwird die Position angegeben, nach der getrennt werden soll. Der Wert vonaHyphIndexliegt im Bereich1bisaExceed-1. Der Buchstabe vor dem Trennstrich wird durch den inaHyphCharangegebenen Buchstaben ersetzt.aHyphResult #_WinHyphDeleteBeforeWird der Wert_WinHyphDeleteBeforegesetzt, findet eine normale Trennung der Silben statt. In dem ParameteraHyphIndexwird die Position angegeben, nach der getrennt werden soll. Der Wert vonaHyphIndexliegt im Bereich1bisaExceed-1. Der Buchstabe vor dem Trennstrich wird entfernt.aHyphResult #_WinHyphChangeAfterWird der Wert_WinHyphChangeAftergesetzt, findet eine normale Trennung der Silben statt. In dem ParameteraHyphIndexwird die Position angegeben, nach der getrennt werden soll. Der Wert vonaHyphIndexliegt im Bereich1bisaExceed-1. Der Buchstabe hinter dem Trennstrich wird durch den inaHyphCharangegebenen Buchstaben ersetzt.aHyphResult #_WinHyphDelAndChangeWird der Wert_WinHyphDelAndChangegesetzt, findet eine normale Trennung der Silben statt. In dem ParameteraHyphIndexwird die Position angegeben, nach der getrennt werden soll. Der Wert vonaHyphIndexliegt im Bereich1bisaExceed-1. Die beiden Buchstaben vor dem Trennstrich werden durch den inaHyphCharangegebenen 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:
- aWord: aHyphRes aHyphIndex aHyphChar Trennung
'Zuckerstange':_WinHyphNIL--'Zuckerstange''Zuckerstange':_WinHyphNormal6-'Zucker- stange''Zuckerstange':_WinHyphChangeBefore3StrToChar ( 'k' , 1 )'Zuk- kerstange'// (alte Rechtschreibung)'Zuckerstange':_WinHyphNormal2-'Zu- ckerstange'// (neue Rechtschreibung)