Ben*_*iss 2 delphi vcl delphi-7
我有一个带有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;
Run Code Online (Sandbox Code Playgroud)
模态形式:
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;
Run Code Online (Sandbox Code Playgroud)
希望你明白我想做什么.它是一个带编辑控件的提示窗口.如果控件中没有文本,则表单应该保留,直到输入文本为止(除非单击X).
谢谢你的帮助.
And*_*and 13
要关闭具有某个特定模态结果值的模态窗口,只需指定
ModalResult := MyVal; // This will close this modal window
// and the modal result will be MyVal
Run Code Online (Sandbox Code Playgroud)
也就是说,确保Button1有ModalResult = mrNone,然后你可以做的事情
procedure TMyForm.Button1Click(Sender: TObject); // mrOK
begin
if Edit1.Text <> '' then ModalResult := 1337;
end;
Run Code Online (Sandbox Code Playgroud)
如果编辑框不为空,这将关闭表单,并且模态结果将是1337.
| 归档时间: |
|
| 查看次数: |
14000 次 |
| 最近记录: |