我正在构建一个项目,我使用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;
相反,它会产生一个严重的缺陷,因为关闭对话框(使用取消或确定)是不可行的,除非你猛烈终止项目。
您能否告诉我一个方法来检查用户关闭对话框的按钮?
答案 0 :(得分:1)
'对话' TwwSearchDialog的OnCloseDialog事件的参数有一个名为:' ModalResult'的属性。 现在,如果通过按“取消”关闭SearchDialog。按钮,然后是Dialog.ModalResult = mrCancel。 如果按下'确定'关闭SearchDialog?按钮,然后是Dialog.ModalResult = mrOK。
所以在' OnCloseDialog'事件我可以查询Dialog.ModalResult是否等于mrOk或mrCancel并相应地添加正确的代码。