Você está aqui: Delphi ::: Win32 API (Windows API) ::: Passos Iniciais |
||
O que são funções de Callback do Windows (Windows Callback Functions) e como usá-las em programas DelphiQuantidade de visualizações: 11451 vezes |
||
O Delphi é um dos ambientes mais amigáveis quando o assunto é chamar funções da API do Windows ou localizadas em DLLs. O problema é que, muitas vezes, as funções da API do Windows, tais como EnumFontFamilies, exigem que o programador forneça um ponteiro para um função. No caso de EnumFontFamilies, esta função será chamada para cada fonte encontrada e que pertença à família de fontes especificada. Veja sua assinatura na documentação da API do Windows:
Então, nós chamamos a função EnumFontFamilies() e esta, por sua vez, chama a função fornecida para o parâmetro lpEnumFontFamProc a cada fonte encontrada. É aqui que nossa discussão reside. O parâmetro lpEnumFontFamProc recebe um ponteiro para uma função definida pelo programador e tal função é chamada de função de Callback. Note que a maioria das funções de enumeração do Windows nos permitem fornecer dados adicionais por meio do parâmetro lParam. Além disso, nós somos os responsáveis pela criação da função de Callback no Delphi. Veja um trecho de código no qual listamos todas as fontes pertencentes a uma determinada família de fonte:
Estude este código atentamente e note como usamos o parâmetro lParam da função de Callback para passar a referência a um Memo. Esta técnica nos permite acessar elementos do formulário a partir da função de Callback. 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 |
Delphi - Como converter strings em valores TDateTime usando as funções StrToDate() e StrToDateDef() do Delphi |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |