OnUpdateFormula(Sender: IMsExpressionEdit; Args: ITermEventArgs);
OnUpdateFormula(Sender: Prognoz.Platform.Interop.Ms.MsExpressionEdit;
Args: Prognoz.Platform.Interop.Forms.TermEventArgs);
Sender. Компонент, сгенерировавший событие;
Args. Аргументы события.
Событие OnUpdateFormula возникает при преобразовании внешнего представления выражения во внутреннее.
Событие OnUpdateFormula вызывается для литеральных термов, формула и текст которых совпадают. Оно позволяет задать внешнему представлению внутреннее.
Преобразование внешнего представления терма во внутреннее происходит, например, при вводе или изменении текста в компоненте MsExpressionEdit.
Для выполнения примера предполагается наличие формы, содержащей компонент MsExpressionEdit с идентификатором «MsExpressionEdit1».
Пример является обработчиком события OnUpdateFormula для компонента «MsExpressionEdit1».
Sub MsExpressionEdit1OnUpdateFormula(Sender: IMsExpressionEdit; Args: ITermEventArgs);
Begin
If Args.Term = Null Then
Return;
End If;
Args.Term.IsHyperlink := True;
Debug.WriteLine("Разделители выражений: '" + Sender.HeavyDelimiters + "'");
Debug.WriteLine("Разделитель слов в выражении: '" + Sender.LightDelimiters + "'");
Debug.WriteLine("Максимальное число слов в выражении: '" + Sender.MaxTermWordCount.ToString + "'");
End Sub MsExpressionEdit1OnUpdateFormula;
После выполнения примера в окно консоли будут выведены данные о разделителях выражений, разделителе слов в выражении и максимальном числе слов в выражении. Выражения будут представлены в виде гиперссылок.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Private Sub msExpressionEditNet1_OnUpdateFormula(Sender: Prognoz.Platform.Interop.Ms.MsExpressionEdit; Args: Prognoz.Platform.Interop.Forms.TermEventArgs);
Begin
If Args.Term = Null Then
Return;
End If;
Args.Term.IsHyperlink := True;
System.Diagnostics.Debug.WriteLine("Разделители выражений: '" + Sender.HeavyDelimiters + "'");
System.Diagnostics.Debug.WriteLine("Разделитель слов в выражении: '" + Sender.LightDelimiters + "'");
System.Diagnostics.Debug.WriteLine("Максимальное число слов в выражении: '" + Sender.MaxTermWordCount.ToString() + "'");
End Sub;
См. также: