CallWindowProc
9/9/2008
Essa função passa informações mensagem para o procedimento janela especificada.
Syntax
LRESULT CallWindowProc(
WNDPROC lpPrevWndFunc,
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);
Parameters
lpPrevWndFunc
[no] Ponteiro longo para o procedimento janela anterior.Se esse valor é obtido por chamado de GetWindowLong função com o nÍndice parâmetro definido como GWL_WNDPROC ou DWL_DLGPROC, ele é realmente ambos o endereço de um procedimento caixa janela ou diálogo, ou um identificador que representa esse endereço.
- hWnd
[no] Identificador para o procedimento janela para receber a mensagem.
- Msg
[no] Especifica a mensagem.
- wParam
[in, Out] Especifica informações Message-specific adicionais. O conteúdo deste parâmetro depende o valor da Msg parâmetro.
- lParam
[in, Out] Especifica informações Message-specific adicionais. O conteúdo deste parâmetro depende o valor da Msg parâmetro.
Return Value
O valor de retorno especifica o resultado do processamento de mensagem e depende de como a mensagem enviada.
Remarks
Use o CallWindowProc função de subclasse janela. Normalmente, todas as janelas com o mesmo procedimento classe compartilhar uma janela. Uma subclasse é uma janela ou conjunto de janelas com a mesma classe cujas mensagens são interceptadas e processadas por outro procedimento janela (ou procedimentos) antes que está sendo passado para o procedimento janela da classe.
O SetWindowLong função cria a subclasse por alterando o procedimento janela associado com uma janela específica, fazendo com que o sistema para chamar o procedimento Nova janela instead of anterior. Um aplicativo deve transmitir qualquer mensagem não processada pelo procedimento nova janela para o procedimento janela anterior por chamado CallWindowProc. Isso permite que o aplicativo para criar um encadear dos procedimentos janela.
Se STRICT for definida, a lpPrevWndFunc parâmetro tem o tipo de dados WNDPROC. O WNDPROC tipo é declarado da seguinte maneira:
LRESULT (CALLBACK* WNDPROC) (HWND, UINT, WPARAM, LPARAM);
Se STRICT não for definida, a lpPrevWndFunc parâmetro tem o tipo de dados FARPROC. O FARPROC tipo é declarado da seguinte maneira:
int (FAR WINAPI * FARPROC) ()
Em C, a FARPROC declaração indica um função callback que possui um não especificado lista parâmetro. Em C++, no entanto, o vazio lista parâmetro na declaração indica que uma função não tem parâmetros. Essa diferença sutil pode codificar descuidado interromper. A seguir é uma maneira identificador essa situação:
#ifdef STRICT
WNDPROC MyWindowProcedure
#else
FARPROC MyWindowProcedure
#endif
...
lResult = CallWindowProc(MyWindowProcedure, ...) ;
Em Dispositivos MIPS, os aplicativos não devem fazer direcionar chamadas para o ponteiro de função retornado por GetClassInfo. Eles devem usar CallWindowProc Em vez disso.
Requirements
Header | winuser.h |
Windows Embedded CE | Windows CE 1.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
Windows Functions
GetWindowLong
SetClassLong
SetWindowLong
Windows Functions
GetClassInfo