[修正] Firemonkey Windows & macOS 平…
2018-06-17 18:55:44来源:未知 阅读 ()
问题:Firemonkey Windows & macOS 平台下 Edit & Memo 中文输入后会取消原选取文字的 BUG
适用版本:Delphi 10.1.2 & 10.2.1
修正后效果:
修正代码:
请将 FMX.Edit.Style.pas 复制到自己的工程目录下,再修改如下代码: (10.2.2 已修正此问题)
procedure TStyledEdit.IMEStateUpdated; var CombinedText: string; begin CombinedText := FTextService.CombinedText; FTextLayout.Text := CombinedText; SetCaretPosition(GetOriginCaretPosition); Model.SetTextWithoutValidation(CombinedText); if FPrompt <> nil then FPrompt.Visible := CombinedText.IsEmpty; {+++>}{$IF Defined(IOS) or Defined(ANDROID)} // 加入此行, 修正中文输入后会取消原选取文字的 BUG by Aone (2017.11.17) if Model.SelLength > 0 then begin Model.DisableNotify; try Model.SelLength := 0; finally Model.EnableNotify; end; UpdateSelectionPointPositions; end; {+++>}{$ENDIF} // 加入此行, 修正中文输入后会取消原选取文字的 BUG by Aone (2017.11.17) LinkObserversValueModified(Self.Observers); DoChangeTracking; DoTyping; end;
请将 FMX.Memo.Style.pas 复制到自己的工程目录下,再修改如下代码:(10.2.2 未已修正此问题)
procedure TStyledMemo.IMEStateUpdated; ...略... SelectionChanged := FSelected or (FSelStart <> LCaret) or (FSelEnd <> LCaret); CaretPosition := LCaret; {+++>}{$IF Defined(IOS) or Defined(ANDROID)} // 加入此行, 修正中文输入后会取消原选取文字的 BUG by Aone (2017.11.17) FSelStart := LCaret; FSelected := False; FSelEnd := FSelStart; UpdateSelectionInModel; {+++>}{$ENDIF} // 加入此行, 修正中文输入后会取消原选取文字的 BUG by Aone (2017.11.17) if SelectionChanged then UpdateSelectionPointPositions; if TextChanged then LinkObserversValueModified(Self.Observers); end; end;
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Delphi中 弹出框的用法
- 深入delphi编程理解之消息(一)WINDOWS原生窗口编写及消息 2020-01-17
- C#Windows服务安装 2018-06-17
- c# 与 winform 界面开发 2018-06-17
- Windows消息传递函数SendMessage参数属性 2018-06-17
- c# windowsForm打印 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash