思路:
1.点击“取消”按钮时拦截并给出提示(aCancelExecute方法);
2.点击右上角的交叉时拦截并给出提示(CloseQuery方法);
实现方法:
procedure TfrmAskVSEditor.aCancelExecute(Sender: TObject);
begin
if (processor.State in [psInsert]) and Self.MustBeSave then
begin
WarnMyMsg('系统提示','后续拜访必须保存,不能放弃!');
Abort;
end;
//
inherited;
end;
function TfrmAskVSEditor.CloseQuery: Boolean;
begin
if (processor.State in [psInsert]) and Self.MustBeSave then
begin
WarnMyMsg('系统提示','后续拜访必须保存,不能放弃!');
Result := False;
end else
begin
Result := inherited CloseQuery;
end;
end;