带有Delphi FireMonkey中自定义按钮标题的MessageDlg

前端之家收集整理的这篇文章主要介绍了带有Delphi FireMonkey中自定义按钮标题的MessageDlg前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用VCL,您可以使用 CreateMessageDialog to generate a message dialog with custom button captions.

使用FMX CreateMessageDialog似乎不再存在(自XE3以来).

除了从头开始重建消息对话框之外,有没有办法使用FireMonkey自定义按钮标题

我希望能够将函数调用described here

MessageDlg(
    'Really quit application ?',mtWarning,[ButtonInfo(mbNo,'Do&n''t save'),ButtonInfo(mbCancel,'&Cancel'),ButtonInfo(mbYes,'&Save')],mbYes
  );

解决方法

总之,没有.您无权访问实际对话框,就像在VCL中一样.就像DadisX在评论中所说,你只能改变资源字符串值,但不能触及对话框本身.

但是,据说,FMX使用平台抽象层来处理实际的对话框,你可以稍微调整一下.在每个支持的平台上,FMX都有一个实现FMX IFMXDialogService接口的类,以提供适合平台的对话框.您可以编写自己的类来实现IFMXDialogService并覆盖其MessageDialog()方法(以及其他方法),以使用您自己的自定义对话框执行任何操作.然后,您可以使用TPlatformServices.RemovePlatformService()取消注册IFMXDialogService的默认类,并使用TPlatformServices.AddPlatformService()注册您的类.

有关更多详细信息,请参阅Embarcadero的文档:

FireMonkey Platform Services

猜你在找的Delphi相关文章