Функция CallWindowProc

Функция CallWindowProc предава информация за съобщението на посочената процедура на прозореца.

WNDPROC lpPrevWndFunc, // указател към предишната процедура

HWND hWnd, // дръжка на прозореца

UINT Съобщение, // съобщение

WPARAM wParam, // първи параметър на съобщението

LPARAM lParam // втори параметър на съобщението

[in] Дръжка към процедурата на прозореца, която получава съобщението.

[в] Определя съобщението.

[in] Определя допълнителна информация, специфична за съобщението. Съдържанието на този параметър зависи от стойността на параметъра Съобщение.

[in] Определя допълнителна информация, специфична за съобщението. Съдържанието на този параметър зависи от стойността на параметъра Съобщение.

Връщаната стойност определя резултата от обработката на съобщението и зависи от предаденото съобщение.

Използвайте функцията CallWindowProc за подкласиране на прозорец. Обикновено всички прозорци с един и същи клас споделят една и съща процедура на прозорец. Подкласът е прозорец или колекция от прозорци от същия клас, чиито съобщения се прихващат и обработват от друга прозоречна процедура (или процедури), преди да бъдат изпратени до процедурата на прозореца на класа.

Функция SetWindowLong създава подклас, замествайки прозоречната процедура, свързана с определен прозорец, карайки системата да извиква нова прозоречна процедура вместо предишната. Приложението трябва да предаде всички съобщения, които не са обработени от процедурата за нов прозорец, до предходната процедура на прозореца чрез извикване CallWindowProc. Това позволява на приложението да веригира прозоречни процедури.

Ако програмата има режим за проверка на типа СТРОГО, параметър lpPrevWndFunc е от тип данни WNDPROC . Тип WNDPROC се декларира по следния начин:

Ако СТРОГО не е зададен, параметър lpPrevWndFunc е от тип данни ФАРПРОК . Тип ФАРПРОК се декларира, както следва:

За повече информация относно функциите, декларирани с празни списъци с параметри, вижте Езикът за програмиране C ++, второ издание, от Bjarne Stroustrup.

Функция CallWindowProc обработва преобразуването Unicode към ANSI. Няма да получите преобразуването, ако извикате директно процедурата на прозореца.

Функция CallWindowProcW поддържа Microsoft ® слой за Unicode (MSLU). В допълнение, версията ANSI поддържа се за осигуряване на по-последователно поведение в операционните системи Windows ® Microsoft. За да използвате това, трябва да добавите някои файлове към приложението си, както е посочено в Microsoft Layer за Unicode за Windows 95/98/Me системи.

Поставяне и съвместимост на CallWindowProc