yon*_*joy 0 delphi firemonkey delphi-xe4
使用VCL,您可以使用CreateMessageDialog自定义按钮标题生成消息对话框.
随着FMX CreateMessageDialog似乎不再存在(自XE3以来).
除了从头开始重建消息对话框之外,有没有办法使用FireMonkey自定义按钮标题?
我希望能够调用这里描述的函数:
MessageDlg(
'Really quit application ?', mtWarning,
[ButtonInfo(mbNo, 'Do&n''t save'),
ButtonInfo(mbCancel, '&Cancel'),
ButtonInfo(mbYes,'&Save')],
mbYes
);
Run Code Online (Sandbox Code Playgroud)
简而言之,没有.您无权访问实际对话框,就像在VCL中一样.就像DadisX在评论中所说,你只能改变资源字符串值,但不能触及对话框本身.
但是,据说,FMX使用平台抽象层来处理实际的对话框,你可以稍微调整一下.在每个支持的平台上,FMX都有一个实现FMX IFMXDialogService接口的类,以提供适合平台的对话框.您可以编写自己的类来实现IFMXDialogService和覆盖其MessageDialog()方法(以及其他方法),以使用您自己的自定义对话框执行任何操作.然后,您可以取消注册默认类以IFMXDialogService使用TPlatformServices.RemovePlatformService()和注册您的类TPlatformServices.AddPlatformService().
有关更多详细信息,请参阅Embarcadero的文档: