Função CallWindowProcA (winuser.h)
Passa informações da mensagem para o procedimento de janela especificado.
Sintaxe
LRESULT CallWindowProcA(
[in] WNDPROC lpPrevWndFunc,
[in] HWND hWnd,
[in] UINT Msg,
[in] WPARAM wParam,
[in] LPARAM lParam
);
Parâmetros
[in] lpPrevWndFunc
Tipo: WNDPROC
O procedimento da janela anterior. Se esse valor for obtido chamando a função GetWindowLong com o parâmetro nIndex definido como GWL_WNDPROC ou DWL_DLGPROC, na verdade é o endereço de um procedimento de janela ou caixa de diálogo ou um valor interno especial significativo apenas para CallWindowProc.
[in] hWnd
Tipo: HWND
Um identificador para o procedimento de janela para receber a mensagem.
[in] Msg
Tipo: UINT
A mensagem.
[in] wParam
Tipo: WPARAM
Informações adicionais específicas da mensagem. O conteúdo desse parâmetro depende do valor do parâmetro Msg.
[in] lParam
Tipo: LPARAM
Informações adicionais específicas da mensagem. O conteúdo desse parâmetro depende do valor do parâmetro Msg.
Valor de retorno
Tipo: LRESULT
O valor retornado especifica o resultado do processamento da mensagem e depende da mensagem enviada.
Observações
Use a função
A função SetWindowLong cria a subclasse alterando o procedimento de janela associado a uma janela específica, fazendo com que o sistema chame o novo procedimento de janela em vez do anterior. Um aplicativo deve passar mensagens não processadas pelo novo procedimento de janela para o procedimento de janela anterior chamando CallWindowProc. Isso permite que o aplicativo crie uma cadeia de procedimentos de janela.
Se STRICT for definido, o parâmetro lpPrevWndFunc terá o tipo de dados WNDPROC. O tipo de WNDPROC
LRESULT (CALLBACK* WNDPROC) (HWND, UINT, WPARAM, LPARAM);
Se
int (FAR WINAPI * FARPROC) ()
Em C, a declaração FARPROC
#ifdef STRICT
WNDPROC MyWindowProcedure
#else
FARPROC MyWindowProcedure
#endif
...
lResult = CallWindowProc(MyWindowProcedure, ...) ;
Para obter mais informações sobre funções declaradas com listas de argumentos vazias, consulte A Linguagem de Programação C++, Segunda Edição por Bjarne Stroustrup.
A função CallWindowProc manipula a conversão Unicode para ANSI. Você não poderá aproveitar essa conversão se chamar o procedimento de janela diretamente.
Exemplos
Para obter um exemplo, consulte Subclasse de uma janela
Nota
O cabeçalho winuser.h define CallWindowProc como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 Professional [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows 2000 Server [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winuser.h (inclua Windows.h) |
biblioteca | User32.lib |
de DLL |
User32.dll |
conjunto de API | ext-ms-win-ntuser-window-l1-1-4 (introduzido no Windows 10, versão 10.0.14393) |
Consulte também
Conceitual
de referência de