GARANTIR DESCONTO

Fórum Função Genérica - Enabled = false #202775

23/12/2003

0

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


Jrs.net

Jrs.net

Responder

Posts

23/12/2003

Beppe

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 



Responder

Gostei + 0

23/12/2003

Jrs.net

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:


Responder

Gostei + 0

23/12/2003

Marcelo Saviski

tem certeza que o form esta criado na hora em que chama esta função?


Responder

Gostei + 0

23/12/2003

Jrs.net

[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:


Responder

Gostei + 0

23/12/2003

Marcelo Saviski

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


Responder

Gostei + 0

23/12/2003

Beppe

Mas se você desabilitar um panel por exemplo, os controles dentro do panel tabém estarão inacessíveis.


Responder

Gostei + 0

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

Aceitar