Compartilhar via


CallWindowProc

Windows Mobile SupportedWindows Embedded CE Supported

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