我有一个带有 2 个按钮的表单(1 是 mrOK - 1 是 mrCancel)。无论如何,只要我单击其中一个按钮,表单就会关闭(调用 OnClose)。
我想返回一个自定义值。像这样:
procedure OpenForm;
var
MyForm : TMyForm;
begin
MyForm := TMyForm.Create (NIL);
try
if MyForm.ShowModal = 1337 then begin
// [...]
end;
finally
MyForm.Free
end;
end;
模态形式:
procedure TMyForm.Button1Click(Sender: TObject); // mrOK
begin
if Edit1.Text = '' then abort; // Don't close here?!
end;
procedure TExecutePrompt.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if Edit1.Text = '' then abort; // Works but if the user clicks the X it should return mrCancel
end;
希望你明白我想做什么。这是一个带有编辑控件的提示窗口。如果控件中没有文本,则表单应保留到输入文本(除非单击 X)。
谢谢你的帮助。