Bom dia a todos do forum, como fazer para habilitar ou desabilitar um texbox depedendo de uma condição?
no clipper eu faço assim
@row(),col() get pgr1_fic pict"99999" when granomad->gr1_gra <> space(03)
Uitlizo a minigui extended.
Obrigado a todos
Como usar a cláusula when num textbox?
Moderador: Moderadores
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Como usar a cláusula when num textbox?
Bom eu colocaria essa sua condição "granomad->gr1_gra <> space(03)" no ONGOTFOCUS do TextBox entre parêntesis. Ou então colocaria após a edição do "gr1_gra" para desabilitar o proximo TextBox.
Para desabilitar o TextBox pode utilizar, por exemplo:
Modi_Stru.Text_1.Enabled:=.f. (para deixar desabilitado, ficando em cor cinza apenas)
ou
Modi_Stru.Text_1.Hide (para desaparecer)
Para exemplificar melhor, você poderia colocar parte do seu código, assim aplicávamos nele as alterações cabíveis.
Para desabilitar o TextBox pode utilizar, por exemplo:
Modi_Stru.Text_1.Enabled:=.f. (para deixar desabilitado, ficando em cor cinza apenas)
ou
Modi_Stru.Text_1.Hide (para desaparecer)
Para exemplificar melhor, você poderia colocar parte do seu código, assim aplicávamos nele as alterações cabíveis.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Como usar a cláusula when num textbox?
Obrigado Pablo pela pronta resposta.
Tenho um sistema para industria de calçados, na tela de cadastro dos itens do pedido eu tenho 20 textbox para colocar a quantidade de pares para os numeros da grade do sapato.
Ocorre que na maioria das vezes nao se necessita preencher todos os textbox.
Exemplificado eu tenho uma grade assim 33, 34, 35, 36, 37, 38, 39, 40, veja a grade tem 8 numeros diferentes, mas na tela de cadastro de itens do pedido eu tenho 20 textbox para colocar a quantidade de pares, quando eu vou cadastrar um item do pedido na grade acima vou usar apenas os oito primeiros textbox, os outros nao serão utillizados.
Necessito que estes texbox que nao forem utilizados fiquem desativados ou mesmo invisiveis, ocorre que o sistema so vai saber quais os textbox que serao ativados quando eu escolher o produto.
Veja parte do codigo
Os Label lbl_gr1_gra a lbl_gr20 é definido de acordo com a grade do produto do item em questão utilizo uma funcao que apos escolhido o produto busca no arquivo de grades de produto a grade correspondente e poe nos labels lblgr1_gra ate lbl_gr20_gra os numeros correspondentes da grade
Tenho um sistema para industria de calçados, na tela de cadastro dos itens do pedido eu tenho 20 textbox para colocar a quantidade de pares para os numeros da grade do sapato.
Ocorre que na maioria das vezes nao se necessita preencher todos os textbox.
Exemplificado eu tenho uma grade assim 33, 34, 35, 36, 37, 38, 39, 40, veja a grade tem 8 numeros diferentes, mas na tela de cadastro de itens do pedido eu tenho 20 textbox para colocar a quantidade de pares, quando eu vou cadastrar um item do pedido na grade acima vou usar apenas os oito primeiros textbox, os outros nao serão utillizados.
Necessito que estes texbox que nao forem utilizados fiquem desativados ou mesmo invisiveis, ocorre que o sistema so vai saber quais os textbox que serao ativados quando eu escolher o produto.
Veja parte do codigo
Código: Selecionar todos
*__________________
DEFINE LABEL lbl_gr1_gra
ROW 150
COL 130
WIDTH 40
HEIGHT 20
VALUE lbg_gr1_gra
FONTNAME "Tahoma"
FONTSIZE 10
FONTCOLOR _CINZA
END LABEL
DEFINE TEXTBOX oGet_gr1_fic
ROW 170
COL 130
WIDTH 050
HEIGHT 020
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o numero correspondente a esta posição na grade"
INPUTMASK '99999'
NUMERIC .T.
VALUE x_gr1_fic
END TEXTBOX
*__________________
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Como usar a cláusula when num textbox?
Pelo que me parece esse seu problema poderia ser resolvido utilizando outra forma de exibição/edição dos campos, atendendo o número de pares conforme a demanda. Para isso eu utilizaria um Grid ou Browse (TBrowse no Clipper) e assim adicionava em linha conforme preciso lançar o número de cada par, claro que teria que fazer uma função de controle para que o número do par não seja repetido ao adicionar registro. Assim iria ficar mais clean a exibição dos campos.
Se não for essa, disponibilize uma tela do seu atual sistema para conseguir entender melhor.
Se não for essa, disponibilize uma tela do seu atual sistema para conseguir entender melhor.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
