ActiveControl = nil
Olá,
O meu problema é o seguinte:
Tenho 2 forms, um Pai e outro filho. Quando tento usar a propriedade ActiveControl no form filho, a mesma vem nil. Acredito que isso seja aconteça devido ao form pai estar aberto, mas não tenho certeza. A questão é preciso usar o ActiveControl para saber o Parent dele.
Gostaria de saber se estou certo e se alguém teria alguma dica ou sugestão.
Agradeço desde já!!!! :D
O meu problema é o seguinte:
Tenho 2 forms, um Pai e outro filho. Quando tento usar a propriedade ActiveControl no form filho, a mesma vem nil. Acredito que isso seja aconteça devido ao form pai estar aberto, mas não tenho certeza. A questão é preciso usar o ActiveControl para saber o Parent dele.
Gostaria de saber se estou certo e se alguém teria alguma dica ou sugestão.
Agradeço desde já!!!! :D
Roswel
Curtidas 0
Respostas
Delphi32
25/02/2005
Olha, eu nunca trabalhei com forms pai e filho, mas até onde eu sei a propriedade ActiveControl retorna qual controle possui o foco no form. Através dessa propriedade você tem como saber se o controle que tem o foco é um edit, ou um botão, etc.
Para saber quem é o form pai do seu form use a propriedade Parent do form filho. Ex.:
Até!
Para saber quem é o form pai do seu form use a propriedade Parent do form filho. Ex.:
FormFilho.Parent.Caption := variavel;
Até!
GOSTEI 0
Roswel
25/02/2005
Certo, mas o ActiveControl esta vindo nil e ai não dá pau se for usá-lo ...
GOSTEI 0
Roswel
25/02/2005
Quer dizer: Dá pau quando vou usá-lo ...
GOSTEI 0
Massuda
25/02/2005
Como o colega delphi32 escreveu, a propriedade ActiveControl é usada para saber qual controle tem o foco de entrada e é válido ter ActiveControl = nil, pois o form pode estar desativado.
Acho que tem duas alternativas... você inclui no seu código o caso do ActiveControl ser nil (o form está desativado) ou você poderia explicar melhor o que deseja fazer para vermos se existe alguma alternativa.
Acho que tem duas alternativas... você inclui no seu código o caso do ActiveControl ser nil (o form está desativado) ou você poderia explicar melhor o que deseja fazer para vermos se existe alguma alternativa.
GOSTEI 0
Delphi32
25/02/2005
entendi. Então o seu problema não é acessar o form pai e sim acessar o controle ativo, certo? é isso mesmo? mas você quer acessar o controle ativo de quem? form pai ou filho? qual dos dois está retornando nil e como você está chamando a propriedade?
Não esqueça que existem duas propriedades ActiveControl. Uma do TCustomForm e outra do TScreen. Por isso perguntei como você está chamando a propriedade. O mais correto (acredito eu) seja chamar com o nome do form antes. Por exemplo Form.ActiveControl. Porque se você estiver chamando Screen.ActiveControl aí ele retorna o controle ativo do form ativo que no caso acredito eu que seria o form filho.
Faça um teste aqui e depois diga se funcionou ou não. Até!
Não esqueça que existem duas propriedades ActiveControl. Uma do TCustomForm e outra do TScreen. Por isso perguntei como você está chamando a propriedade. O mais correto (acredito eu) seja chamar com o nome do form antes. Por exemplo Form.ActiveControl. Porque se você estiver chamando Screen.ActiveControl aí ele retorna o controle ativo do form ativo que no caso acredito eu que seria o form filho.
Faça um teste aqui e depois diga se funcionou ou não. Até!
GOSTEI 0
Roswel
25/02/2005
Olá,
Testei usando o Screen.activecontrol e deu certo!!!! Ele pegou o ActiveControl do Form Filho, do jeito que eu queria!!!!!!!!!
Muito Obrigado à todos que postaram :D
Testei usando o Screen.activecontrol e deu certo!!!! Ele pegou o ActiveControl do Form Filho, do jeito que eu queria!!!!!!!!!
Muito Obrigado à todos que postaram :D
GOSTEI 0