Tava fácil demais né??? rs Fiz o seguinte:
If (dmoQuerys.QueryPadroesSis.State in [dsEdit, dsInsert]) or (dmoQuerys.QueryCadEmpresa.State in [dsEdit, dsInsert]) or (dmoQuerys.QueryCadNF.State in [dsEdit, dsInsert]) then begin AllowChange := false; ShowMessage('Você deve gravar ou cancelar as alterações antes de sair! ); end; Obrigado pela força Jhosef! Deu certo! Um abraço a todos! -------Mensagem original------- De: Jhosef Marks Data: 04/02/2009 10:22:33 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Dúvida com PageControl No evento OnChanging utilize a propriedade AllowChange para controlar se o usuário pode ou não alterar de guia... JM 2009/2/4 Bruno Lepesqueur <brunolbra...@yahoo.com.br> > Pessoal eu incluí em um formulário um PageControl contendo umas 4 > páginas > (guias) e gostaria que fosse feito uma verificação todas as vezes que o > usuário sair de uma guia clicando em outra, mas não consigo! > > Eu fiz o seguinte código: > > procedure TPadroesSisFrm.PageControl1Changing(Sender: TObject; > var AllowChange: Boolean); > begin > If (dmoQuerys.QueryPadroesSis.State in [dsEdit, dsInsert]) or > (dmoQuerys.QueryCadEmpresa.State in [dsEdit, dsInsert]) or > (dmoQuerys.QueryCadNF.State in [dsEdit, dsInsert]) then > begin > > If (PageControl1.ActivePage = DadosPadroes) then > edit1.text := 'DadosPadroes' else > If (PageControl1.ActivePage = DadosEmpresa) then > edit1.text := 'DadosEmpresa' else > If (PageControl1.ActivePage = DadosNF) then > edit1.text := 'DadosNF' else > If (PageControl1.ActivePage = Produtos) then > edit1.text := 'Produtos'; > > pageControl1.ActivePage := edit1.text; //o delphi não aceita esse > comando. Ele aceitaria se fosse assim: > > //pageControl1.ActivePage := DadosPadroes; > > If pageAtual = 'DadosPadroes' then > PageControl1.ActivePage := DadosPadroes else > If pageAtual = 'DadosEmpresa' then > PageControl1.ActivePage := DadosEmpresa else > If pageAtual = 'DadosNF' then > PageControl1.ActivePage := DadosNF else > If pageAtual = 'Produtos' then > PageControl1.ActivePage := Produtos; > > ShowMessage('Você deve gravar ou cancelar as alterações antes de sair! > ); > end; > end; > > Resumindo, eu só não quero deixar ele mudar de página (guia) sem antes > salvar os registros. > Talvez vcs tem alguma forma melhor de se fazer isso! > > Obrigado! > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Jhosef Marks de Carvalho Delphi Developer http://groups.google.com/group/soumaisdelphi [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]