Você está aqui: Delphi ::: Win32 API (Windows API) ::: Formulários e Janelas |
||
Listando todas as janelas (ou controles) filhas a partir do handle de uma janela paiQuantidade de visualizações: 13199 vezes |
||
Em algumas situações nós precisamos listar todas janelas filhas (ou controles) pertencentes a uma determinada janela pai, talvez com a intenção de obter ou enviar conteúdo a estas janelas ou controles. Isso pode ser feito com o auxílio da função EnumChildWindows() da API do Windows. Veja sua assinatura:
Veja que a função requer um handle para a janela pai e um ponteiro para uma função de Callback, que será chamada a cada vez que uma nova janela filha for encontrada. No argumento lParam nós podemos passar informações adicionais para a função. No exemplo abaixo eu passei um TMemo, para facilitar a exibição do ID, nome de classe e título (caption) da janela filha. Eis o código:
Aqui eu rodei um código adicional para obter o handle da Calculadora do Windows e listei todos os seus controles. O resultado foi algo como: ID: 403 - Classe: Edit - Caption: 0, ID: 113 - Classe: Button - Caption: MC ID: 114 - Classe: Button - Caption: MR ID: 115 - Classe: Button - Caption: MS ID: 116 - Classe: Button - Caption: M+ ID: 131 - Classe: Button - Caption: 7 ID: 128 - Classe: Button - Caption: 4 ID: 125 - Classe: Button - Caption: 1 ID: 124 - Classe: Button - Caption: 0 ID: 132 - Classe: Button - Caption: 8 ID: 129 - Classe: Button - Caption: 5 ID: 126 - Classe: Button - Caption: 2 ID: 80 - Classe: Button - Caption: +/- ID: 133 - Classe: Button - Caption: 9 ID: 130 - Classe: Button - Caption: 6 ID: 127 - Classe: Button - Caption: 3 ID: 85 - Classe: Button - Caption: . ID: 90 - Classe: Button - Caption: / ID: 91 - Classe: Button - Caption: * ID: 93 - Classe: Button - Caption: - ID: 92 - Classe: Button - Caption: + ID: 112 - Classe: Button - Caption: = ID: 83 - Classe: Button - Caption: Backspace ID: 82 - Classe: Button - Caption: CE ID: 81 - Classe: Button - Caption: C ID: 401 - Classe: Static - Caption: ID: 107 - Classe: Button - Caption: 1/x ID: 103 - Classe: Button - Caption: sqt ID: 109 - Classe: Button - Caption: % ID: 1000 - Classe: Static - Caption: Você pode usar algumas das funções documentadas nesta seção para obter o handle da janela pai cujas janelas filhas você deseja listar. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
||
![]() |
||
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |