找出用户点击哪个按钮关闭Twwsearchdialog

时间:2015-11-12 23:50:35

标签: delphi-7

我正在构建一个项目,我使用Infopowers和1stClass控件。 现在在我的一个表单中,我使用TwwSearchDialog以便让用户找到特定的记录。但是,我想知道用户关闭对话框的按钮。 那是因为如果他点击“取消”按钮,我需要触发不同于他点击“确定”按钮的代码。

TwwSearchDialog控件有一个“OnCloseDialog”事件,其中发送者是TwwLookUpDlg,它没有任何'Canceled'布尔参数。 (与TwwSearchDialog本身相同的情况)。因此,您无法询问对话框是否已取消。

我试图通过查询'OnCloseDialog'事件中的'Execute'参数来解决这个问题,即使布尔值也不返回任何内容。

procedure MyForm.wwSearchDialog1CloseDialog(Dialog:TwwLookupDlg);
begin
   if not wwSearchDialog1.Execute then
      begin
         bla bla bla bla
      end;
end;

相反,它会产生一个严重的缺陷,因为关闭对话框(使用取消或确定)是不可行的,除非你猛烈终止项目。

您能否告诉我一个方法来检查用户关闭对话框的按钮?

1 个答案:

答案 0 :(得分:1)

'对话' TwwSearchDialog的OnCloseDialog事件的参数有一个名为:' ModalResult'的属性。 现在,如果通过按“取消”关闭SearchDialog。按钮,然后是Dialog.ModalResult = mrCancel。 如果按下'确定'关闭SearchDialog?按钮,然后是Dialog.ModalResult = mrOK。

所以在' OnCloseDialog'事件我可以查询Dialog.ModalResult是否等于mrOk或mrCancel并相应地添加正确的代码。