Fórum SetFocus Está Dando Trabalho #448406
11/07/2013
0
Abaixo o codigo de validação de data, até ai tudo bem, está validando tudo certinho, só que no form desse cadastro, possui, os botões, Incluir,Gravar,Alterar,Cancelar,Excluir.Quando eu clico no botão Incluir, ele abre os edit para digitação, mas se eu clicar no botão Cancelar ele não cancela, fica validando a data em branco, trazendo a mensagem do Mess(Frm_Cad_Funcionarios.Handle,''Verifique...'',mb_iconinformation or mb_ok);.Se eu tirar o Msk_Data_Admissao.SetFocus;Ele cancela normal.Mais eu preciso que o foco demostre que está em branco mais se eu clicar no botão cancelar, funcione como tem que funcionar.Alguem ajudaaaaaaaaaaa????
procedure TFrm_Cad_Funcionarios.Msk_Data_AdmissaoExit(Sender: TObject);
VAR data : TDate;
begin
try
data := StrToDate(Msk_Data_Admissao.Text);
except
begin
Mess(Frm_Cad_Funcionarios.Handle,''Verifique...'',mb_iconinformation or mb_ok);
Msk_Data_Admissao.SelectAll;
Msk_Data_Admissao.SetFocus;
Abort;
end;
end;
Bruno Henrique
Curtir tópico
+ 0Posts
11/07/2013
Marco Salles
antes de cair no try teste se o foco esta indo para o Botão cancelar ... se sim , sai
[]sds
Gostei + 0
11/07/2013
Bruno Henrique
Gostei + 0
11/07/2013
Marco Salles
Gostei + 0
11/07/2013
Bruno Henrique
Esse é o meu botão cancelar
procedure TFrm_Cad_Funcionarios.LimpaCampos;
var i:Integer;
Begin
For i:=0 To (ComponentCount - 1) Do
If Components[i] Is TCustomEdit Then (Components[i] As TCustomEdit).Clear;
Ads_Cad_Funcionarios.Close;
Edt_Comissao.Text:=' 0,00';
f_operacao:='I';
Ads_Cad_Funcionarios.Close;
Ads_Cad_Funcionarios.CommandText:='Select * from Cad_Funcionarios order by nome';
Ads_Cad_Funcionarios.Open;
end;
Gostei + 0
11/07/2013
Marco Salles
POE ...
antes de cair no try teste se o foco esta indo para o Botão cancelar ... se sim , sai
[]sds
como vc fez este teste ???
onde vc fez este teste ???
qual a instrução que vc utilizou para implementar este teste ???
[]sds
Gostei + 0
11/07/2013
Bruno Henrique
Depois do begin eu coloquei Btn_Cancelar.SetFocus;
procedure TFrm_Cad_Funcionarios.Msk_Data_AdmissaoExit(Sender: TObject);
VAR data : TDate;
begin
Btn_Cancelar.SetFocus;
try
data := StrToDate(Msk_Data_Admissao.Text);
except
begin
Mess(Frm_Cad_Funcionarios.Handle,'Verifique...',mb_iconinformation or mb_ok);
//MessageDLG('Verifique!!!',mtInformation,[mbok],1);
Msk_Data_Admissao.SelectAll;
Msk_Data_Admissao.SetFocus;
Abort;
end;
end;
Gostei + 0
11/07/2013
Marco Salles
procedure TFrm_Cad_Funcionarios.Msk_Data_AdmissaoExit(Sender: TObject); VAR data : TDate; begin if Btn_Cancelar.focused then exit; //faça o que vc tem que fazer se não for cancelar end;
Gostei + 0
11/07/2013
Bruno Henrique
Abraçãoaooo
RESOLVIDO
Gostei + 0
12/07/2013
José
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)