Fórum Ao abrir o form, ele aceita digitar dados - e não quero isso #197448

27/11/2003

0

Olá amigos,

Quando chamo um formulário, ele aparece com o foco setado no primeiro campo permitindo que eu digite qualquer coisa. Não quero isso. Quero que o formulário só permita digitar algo quando estiver em estado de EDIÇÃO ou INSERÇÃO. Como posso resolver esse problema?

Obrigado pela ajuda.


Vinciguerra

Vinciguerra

Responder

Posts

27/11/2003

Yankleber

Olá amigo,

Todos os componentes do Delphi possuem uma propriedade Enable que pode assumir true ou false.
Para que os seus campos TEdit não aceitem entrada de dados, selecione todos os campos TEdit no formulário e mude a propriedade Enable para FALSE.

Dentro do seu programa, no evento click dos botões EDIÇÃO e INSERÇÃO, você deve mudar todos eles para TRUE, assim:

edtNome.enabled := true;
edtCPF.enabled := true;
etc...


Novamente, no evento click do botão OK ou CANCELAR, você deve torná-los desabilitados novamente, assim:

edtNome.enabled := false;
edtCPF.enabled := false;
etc...


Isso vale para os botões também (bem como qualquer outro componente) que você queira habilitar ou desabilitar.

Espero ter ajudado.


Responder

Gostei + 0

27/11/2003

Vinciguerra

Obrigado pela força yankleber.
A tua ajuda resolveria o meu problema, mas acabei resolvendo de outra forma: Coloquei a propriedade AUTOEDIT do DATASOURCE da tabela (no DataModule) em FALSE.

Obrigado + 1 x.


Responder

Gostei + 0

30/11/2003

Orc

Amigo vc pode fazer assim usa o State do datasouce ( no evento on statechange voce coloca ewse codigo ó

procedure TFrmClientes.DtsClientesStateChange(Sender: TObject);
begin
with frmclientes.AdoClientes do
begin
//Dbnavigator1.Enabled := State in [dsBrowse];;
Panel4.Enabled := State in [dsInsert, dsEdit];
btnincluir.Enabled := State in [dsBrowse];
btnEditar.Enabled := State in [dsBrowse];
btnExcluir.Enabled := State in [dsBrowse];
btnGravar.Enabled := State in [dsInsert,dsEdit];
btnCancelar.Enabled := State in [dsInsert,dsEdit];
btnimprimir.Enabled := State in [dsBrowse];
btnlocalizar.Enabled := State in [dsBrowse];
btnSair.Enabled := State in [dsBrowse];
end;
end;
observe meus dbedits estao dentro do panel e como o panel esta no state ele so habilita o panel pra mim novamente se eu for inserir ou editar


Espero ter ajudado amigo


Bruno Eduardo de Moura Ferreira :arrow: :arrow: :arrow:


Responder

Gostei + 0

30/11/2003

Michel

Porque vc nao coloca um panel e todos os edits e labels nele..depois é so liberar o panel1.enabled := true;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar