CallWindowProc

O CallWindowProc função passa informações mensagem para o procedimento janela especificada.

(LRESULT CallWindowProc WNDPROC  lpPrevWndFunc, / / ponteiro para procedimento anteriorHWNDhWnd, / / identificador para janelaUINTMsg, // messageWPARAMwParam, / / primeiro parâmetro da mensagemLPARAMlParam / / segundo parâmetro message);
 

Parâmetros

lpPrevWndFunc
Ponteiro para o procedimento janela anterior.

Esse valor é obtido por chamado a GetWindowLong função com o nÍndice parâmetro definido como GWL_WNDPROC ou DWL_DLGPROC, se realmente quer o endereço de uma janela ou procedimento caixa de diálogo, ou um identificador que representa esse endereço.

hWnd
Identificador para o procedimento janela para receber a mensagem.
Msg
Especifica a mensagem.
wParam
Especifica informações message-specific adicionais. O conteúdo deste parâmetro depende o valor da Msg parâmetro.
lParam
Especifica informações message-specific adicionais. O conteúdo deste parâmetro depende o valor da Msg parâmetro.

Retornar valores

O valor de retorno especifica o resultado do processamento da mensagem e depende de mensagem enviada.

Observações

Use o CallWindowProc função para a subclassificação de janela. Geralmente, todas as janelas com a mesma classe compartilham um procedimento de janela. Uma subclasse é uma janela ou conjunto de windows com a mesma classe cujas mensagens são interceptadas e processadas por outro procedimento de janela (ou procedimentos) antes de ser 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 novo procedimento de janela para o procedimento janela anterior por chamado CallWindowProc. Isso permite que o aplicativo para criar uma Cadeia de procedimentos de janela.

Se STRICT for definida, a lpPrevWndFunc parâmetro tem os tipo de dados WNDPROC. O WNDPROC tipo é declarado da seguinte maneira

LRESULT (RETORNO DE CHAMADA WNDPROC) (HWND, UINT, WPARAM, LPARAM) 

 

Se STRICT não for definida, a lpPrevWndFunc parâmetro tem os tipo de dados FARPROC. O FARPROC tipo é declarado da seguinte maneira

int (até agora WINAPI * FARPROC)) 

 

Em C, a FARPROC declaração indica uma função de retorno de chamada que possui uma lista de parâmetro não especificado. No C++, no entanto, a lista de parâmetros vazia na declaração indica que uma função não tem parâmetros. Esta distinção sutil pode quebrar código descuidado. A seguir é uma maneira de lidar com essa situação:

# ifdef ESTRITO WNDPROC MyWindowProcedure # else FARPROC MyWindowProcedure... # endif lResult = CallWindowProc (MyWindowProcedure,...) 

 

Para obter mais informações sobre funções declaradas com listas de argumentos vazios, referir-se a The C++ Programming Language, Second Edition, por Bjarne Stroustrup.

Windows NT: O CallWindowProc função manipula conversão de Unicode para ANSI. Você não pode tirar proveito dessa conversão se você chamar o procedimento janela diretamente.

QuickInfo

nbsp; Windows &NT: requer a versão 3.1 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Requer versão 1.0 ou posterior.
Cabeçalho:Declarado em WinUser. h.
Biblioteca de importação:Use user32.lib.
Unicode:Implementado como versões Unicode e ANSI no Windows NT.

Ver também

Visão geral de procedimentos de janela, janela procedimento funções, GetWindowLong, SetClassLong, SetWindowLong

Index