Claudio,
Eu não testei mas sei que funciona. Eu tenho uma rotina muito parecida que "varre" todos objetos de um formulário (ou formset) - incluindo os hearders, textboxs que estão dentro de uma coluna no grid.
O que eu estava procurando é exatamente o ActiveControl - na verdade eu coloquei a dúvida aqui porque pensei que essa propriedade retornasse o objeto ativo a nivel do Form (não dentro de um pageframe, por exemplo!)
O que eu preciso fazer é somente pegar o controle ativo para no KeyPress retornar o foco para o objeto (citei o ForeColor como exemplo).
Então, tudo que preciso fazer é o seguinte:
oObjAtivo = Iif(Type("ThisForm.ActiveControl")#"O","",ThisForm.ActiveControl)
.
. blá blá blá
.
If Type("oObjAtivo")="O"
oObjAtivo.SetFocus
EndIf
De qualquer maneira obrigado pela ajuda!
Ah... esqueci de dizer que eu preciso disso aí pois quando o usuário pressiona ENTER eu faço:
ThisForm.Gravar.SetFocus
ThisForm.Gravar.Valid
e se por um acaso o Valid do Gravar retornar .F. eu gostaria que o foco continuasse no mesmo objeto que o usuário estava editando! :P
[]s - Tks again!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Rodolfo Duarte