描述TDialogService提供了处理对话框的类函数和PreferredMode首选项属性,以根据该平台指定对话框的默认呈现模式。包含:
ShowMessageclass procedure ShowMessage(const AMessage: string); overload; class procedure ShowMessage(const AMessage: string; const ACloseDialogProc: TInputCloseDialogProc); overload; class procedure ShowMessage(const AMessage: string; const ACloseDialogEvent: TInputCloseDialogEvent; const AContext: TObject = nil); overload; FMX.DialogService.TDialogService.ShowMessage为显示带有指定消息和OK按钮的对话框。 ShowMessage可以根据首选模式同步或异步工作。ShowMessage内部调用ShowMessageAsync 或 ShowMessageSync。
为了强制不同平台的特定行为,将PreferredMode设置为同步或异步(不支持Android)。
除了取代传统的ShowMessage方法, 您也可以实作程序或是事件在使用者关闭ShowMessage对话盒时直接触发您的程序或是事件.例如我们使用如下的一个小范例: procedure TForm1.btnShowMessageClick(Sender: TObject); begin TDialogService.ShowMessage('您点选了OK按钮', ShowMessageCloseMethod); end; procedure TForm1.ShowMessageCloseMethod(const AResult: TModalResult); var alvi : TListViewItem; begin alvi := ListView1.Items.Add; alvi.Text := DateTimeToStr(Now); alvi.Detail := '关闭了ShowMessage对话框!'; end; 在呼叫TDialogService.ShowMessage时我们提了一个回调方法ShowMessageCloseMethod(), 那么当使用者关闭ShowMessage对话框时就会自动调用ShowMessageCloseMethod()方法: MessageDialogclass procedure MessageDialog(const AMessage: string; const ADialogType: TMsgDlgType; const AButtons: TMsgDlgButtons; const ADefaultButton: TMsgDlgBtn; const AHelpCtx: THelpContext; const ACloseDialogProc: TInputCloseDialogProc); overload; class procedure MessageDialog(const AMessage: string; const ADialogType: TMsgDlgType; const AButtons: TMsgDlgButtons; const ADefaultButton: TMsgDlgBtn; const AHelpCtx: THelpContext; const ACloseDialogEvent: TInputCloseDialogEvent; const AContext: TObject = nil); overload; FMX.DialogService.TDialogService.MessageDialog为显示具有自定义消息、对话框类型、按钮集和帮助上下文ID的对话框。
strong>为了强制不同平台的特定行为,将PreferredMode设置为同步或异步(不支持Android)。
注意:“Help”帮助按钮不触发调用,因为它没有关闭对话框。 InputQueryclass procedure InputQuery(const ACaption: string; const APrompts: array of string; const AValues: array of string; const ACloseQueryProc: TInputCloseQueryProc); overload; class procedure InputQuery(const ACaption: string; const APrompts: array of string; const AValues: array of string; const ACloseQueryEvent: TInputCloseQueryWithResultEvent; const AContext: TObject = nil); overload; FMX.DialogService.TDialogService.InputQuery为显示包含文本输入字段和OK按钮的对话框。
为了强制不同平台的特定行为,将PreferredMode设置为同步或异步(不支持Android)。
注:AValues 的长度必须大于或等于APrompts的长度。 |
|