Popin 0 Denunciar post Postado Março 18, 2010 Ola, como faço para que seja emitida uma mensagem quando o usuario for fechar a tela se a mesma estiver em modo de inclusão, forçando o mesmo a cancelar ou confirmar o processo de inclusão ou alteração? Compartilhar este post Link para o post Compartilhar em outros sites
Pantoja 5 Denunciar post Postado Março 18, 2010 bem vá no evento onclose do form e ponha uma caixa de diálogo para o user e se o cara pressionar YES(quer fechar) ai voce poe um cancel na tabela, acho que já resolve Abraços Compartilhar este post Link para o post Compartilhar em outros sites
itepi 0 Denunciar post Postado Março 19, 2010 Pantoja acredito que tenha que ser no evento OnCloseQuery, pois se for no OnClose não teria como cancelar o fechamento da tela caso o usuário quisesse continuar inserindo o registo, então no evento OnCloseQuery ponha o seguinte código: if MessageDlg('Deseja cancelar inclusao?',mtConfirmation,mbYesNo,0) = ID_YES then begin query.Cancel; CanClose := true; //Da continuidade ai processo de fechamento do form, chamando o evento OnClose end else begin CanClose := false; //Cancela o processo de fechamento end; Substitua a query pelo seu DataSet (ADOQuery, ADOTable, ZQuery, ZQuery, SQLQuery, SQLTable, etc). É isso, tenta ai e depois da um feedback aqui no fórum Compartilhar este post Link para o post Compartilhar em outros sites
Pantoja 5 Denunciar post Postado Março 19, 2010 Ahh sim verdade, o closequery é o mais indicado mesmo pq tem a função canclose, muito bem pensado ^^ Compartilhar este post Link para o post Compartilhar em outros sites
itepi 0 Denunciar post Postado Março 19, 2010 Melhorando o meu código : if (query.state = dsInsert) or (query.state = dsEdit) then begin if MessageDlg('Deseja cancelar inclusao?',mtConfirmation,mbYesNo,0) = ID_YES then begin query.Cancel; CanClose := true; //Da continuidade ai processo de fechamento do form, chamando o evento OnClose end else begin CanClose := false; //Cancela o processo de fechamento end; end; Compartilhar este post Link para o post Compartilhar em outros sites