Função Genérica - Enabled = false
Olá povo
Tenho uma tela um pouco grande com vários componentes, e tenho uma opção de detalhar, sem permitir edição. Estou tentando desenvolver uma função genérica que altere a propriedade Enabled para false para todos os componentes da tela, ou pelo menos a maioria em comum, soh que não estou conseguindo.
Estou tentando assim, mas a propriedade ComponentCount resulta um número negativo e mto grande e consequentemente não entra no for. Eis o código:
for i := 0 to Form.ComponentCount -1 do
if Form.Components[i] is TCustomEdit then
(Form.Components[i] as TCustomEdit).enabled:= false
Alguém tem algo assim pronto ou pode me dar uma dica
Obrigado
Tenho uma tela um pouco grande com vários componentes, e tenho uma opção de detalhar, sem permitir edição. Estou tentando desenvolver uma função genérica que altere a propriedade Enabled para false para todos os componentes da tela, ou pelo menos a maioria em comum, soh que não estou conseguindo.
Estou tentando assim, mas a propriedade ComponentCount resulta um número negativo e mto grande e consequentemente não entra no for. Eis o código:
for i := 0 to Form.ComponentCount -1 do
if Form.Components[i] is TCustomEdit then
(Form.Components[i] as TCustomEdit).enabled:= false
Alguém tem algo assim pronto ou pode me dar uma dica
Obrigado
Jrs.net
Curtidas 0
Respostas
Beppe
23/12/2003
Tenta a coleção Controls.
for i := 0 to Form.ControlCount -1 do if Form.Controls[i] is TCustomEdit then (Form.Controls[i] as TCustomEdit).enabled:= false
GOSTEI 0
Jrs.net
23/12/2003
Tenta a coleção Controls.
for i := 0 to Form.ControlCount -1 do if Form.Controls[i] is TCustomEdit then (Form.Controls[i] as TCustomEdit).enabled:= false
putz..cara deu Access Violation na hora de ler a propriedade ControlCount...Alguma idéia? :roll: :roll:
GOSTEI 0
Marcelo Saviski
23/12/2003
tem certeza que o form esta criado na hora em que chama esta função?
GOSTEI 0
Jrs.net
23/12/2003
[quote:d5c78491d5=´Marcelo Saviski´]tem certeza que o form esta criado na hora em que chama esta função?[/quote:d5c78491d5]
Então..o Access Violation eu consegui resolver ...agora to estranhando que a propriedade Form.ControlCount retorna apenas 3 valores. Ela não deveria retornar o total de compoentens da tela? e consequentemente não passa no if que testa a classe do componente.. to chamando a função assim:
DisableObjects(frmCADImovel);
Alguma idéia...????? :?: :?: :cry:
Então..o Access Violation eu consegui resolver ...agora to estranhando que a propriedade Form.ControlCount retorna apenas 3 valores. Ela não deveria retornar o total de compoentens da tela? e consequentemente não passa no if que testa a classe do componente.. to chamando a função assim:
DisableObjects(frmCADImovel);
Alguma idéia...????? :?: :?: :cry:
GOSTEI 0
Marcelo Saviski
23/12/2003
assim:
vc tem 2 edits, coloca eles no form, eles vão aparecer no Control do form
vc coloca 2 panels, 2 edit em cada panel, os panels vão aparecer no controls do form, e os edits no control dos panels
vc tem 2 edits, coloca eles no form, eles vão aparecer no Control do form
vc coloca 2 panels, 2 edit em cada panel, os panels vão aparecer no controls do form, e os edits no control dos panels
GOSTEI 0
Beppe
23/12/2003
Mas se você desabilitar um panel por exemplo, os controles dentro do panel tabém estarão inacessíveis.
GOSTEI 0