CallWindowProc

Funkcja CallWindowProc przekazuje informacje o wiadomości procedurze określonego okna.

(LRESULT CallWindowProc WNDPROC  lpPrevWndFunc, / / wskaźnik do poprzedniej proceduryHWNDhWnd, / / dojście do oknaUINTMsg, // messageWPARAMwParam, / / po raz pierwszy wiadomości parametrFIKCYJNYMIfikcyjnymi / / drugi parametr message);
 

Parametry

lpPrevWndFunc
Wskaźnik do poprzedniej procedury okna.

Jeśli ta wartość jest uzyskiwana przez wywołanie funkcji GetWindowLong z parametrem nIndex ustawiono na GWL_WNDPROC lub DWL_DLGPROC, jest rzeczywiście albo adres okno lub okno dialogowe pole procedury lub uchwyt reprezentujący adres.

hWnd
Dojście do procedury okna komunikatu.
Msg
Określa tekst komunikatu.
wParam
Określa dodatkowe informacje specyficzne dla wiadomości. Zawartość tego parametru zależą od wartości parametru Msg.
fikcyjnymi
Określa dodatkowe informacje specyficzne dla wiadomości. Zawartość tego parametru zależą od wartości parametru Msg.

Zwraca wartości

Wartość zwracany określa wynik przetwarzania wiadomości i zależy od wiadomości wysłane.

Uwagi

Funkcja CallWindowProc dla okno podklasy. Zazwyczaj wszystkie okna z tej samej klasy udostępnianie jednej procedury okna. Podklasa jest okno lub zestaw windows z tej samej klasy, którego wiadomości są przechwytywane i przetwarzane przez innego okna procedurę (lub procedury) przed przekazywany do procedury okna klasy.

Funkcja SetWindowLong tworzy podklasy, zmieniając procedurę okna związane z danego okna, powodując system, aby wywołać nową procedurę okna zamiast poprzedni. Aplikacja musi przekazać komunikaty nie są przetwarzane przez nową procedurę okna do poprzedniej procedury okna przez wywołanie CallWindowProc. To umożliwia aplikacji utworzyć łańcuch procedur okna.

Jeśli zdefiniowano STRICT, parametr lpPrevWndFunc ma typ danych WNDPROC. Typ WNDPROC jest zadeklarowany w następujący sposób

LRESULT (WYWOŁANIE ZWROTNE * WNDPROC) (HWND, UINT, WPARAM, FIKCYJNYMI) 

 

Jeśli nie zdefiniowano STRICT, parametr lpPrevWndFunc ma typ danych FARPROC. Typ FARPROC jest zadeklarowany w następujący sposób

int (FAR WINAPI * FARPROC)) 

 

C deklaracji FARPROC wskazuje funkcji wywołania zwrotnego, która ma listę nieokreślony parametr. W języku C++ jednak lista parametrów pusty w deklaracji wskazuje, że funkcja ma bez parametrów. Rozróżnienie to subtelne można podzielić careless kodu. Oto jeden ze sposobów obsługi tej sytuacji:

#ifdef ściśle WNDPROC MyWindowProcedure # else FARPROC MyWindowProcedure #endif... lResult = CallWindowProc (MyWindowProcedure,...) 

 

Aby uzyskać dalsze informacje na temat funkcji zadeklarowanych z listami pusty argument odnoszą się do C++ Programming Language, drugie wydanie, Bjarne Stroustrup.

Systemu Windows NT: Funkcja CallWindowProc obsługuje Konwersja Unicode na ANSI. Korzyść ta konwersja nie może podjąć, jeżeli bezpośrednio wywołać procedurę okna.

Skrócone informacje

nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Wymaga wersja 1.0 lub nowsza.
Nagłówka:Zadeklarowane w pliku winuser.h.
Importowanie biblioteki:Należy użyć user32.lib.
Unicode:Implementowane jako wersje Unicode i ANSI w systemie Windows NT.

Zobacz też

Omówienie procedury okna, okno procedury funkcje, GetWindowLong, SetClassLong, SetWindowLong

Index