CallWindowProc

Функція CallWindowProc проходить повідомлення інформації до вказаного вікно процедури.

(LRESULT CallWindowProc WNDPROC  lpPrevWndFunc, / / вказівник на попередні процедуриHWNDhWnd, / / ручка вікнаUINTMsg, // messageWPARAMwParam, / / перші повідомлення параметраLPARAMlParam / / другий параметр повідомлення);
 

Параметри

lpPrevWndFunc
Курсор до попереднього вікна процедури.

Якщо це значення виходить шляхом виклику функції GetWindowLong з параметром nIndex , GWL_WNDPROC або DWL_DLGPROC, це фактично або адресу вікна або діалоговому вікні процедури або маркер, що представляють її.

hWnd
Обробляти до вікна процедури отримання повідомлення.
Msg
Визначає повідомлення.
wParam
Визначає додаткові повідомлення конкретної інформації. Вміст цього параметра залежить від значення параметра Msg.
lParam
Визначає додаткові повідомлення конкретної інформації. Вміст цього параметра залежить від значення параметра Msg.

Повернення значень

Значення, що повертається визначає результатом обробки повідомлення і залежить від повідомлення, яке надсилається.

Зауваження

Функція CallWindowProc використовується вікно subclassing. Як правило всі вікна з одного класу частку одного вікна процедури. Підкласу це вікно або набір вікон з одного класу, чиї повідомлення перехоплення і обробляється іншого вікна процедури (або процедур) перед передаються до вікна процедури класу.

Функція SetWindowLong створює на підкласу змінюючи вікна процедури, пов'язані з конкретного вікна, викликаючи системи називати нову процедуру вікна замість того, щоб попередня. Програма має пройти будь-які повідомлення, що не обробляється нова процедура вікно до попереднього вікна процедури за номером CallWindowProc. Це дозволяє застосовувати для створення ланцюжка вікно процедур.

Якщо визначено СТРОГИЙ lpPrevWndFunc параметр має тип даних WNDPROC. WNDPROC тип заявив наступне

LRESULT (ЗВОРОТНОГО ВИКЛИКУ * WNDPROC) (HWND, UINT, WPARAM, LPARAM) 

 

Якщо СТРОГИЙ не визначено, lpPrevWndFunc параметр має тип даних FARPROC. FARPROC тип заявив наступне

int (далеко WINAPI * FARPROC)) 

 

У C FARPROC декларації вказує функцію зворотного виклику, який має список не вказано параметр. У c + + Однак, список пусту параметрів у декларації вказує, що функція має без параметрів. Це тонкі відмінності можна розірвати недбале код. Нижче наводиться один спосіб справитися з цією ситуацією:

#IFDEF СУВОРОГО WNDPROC MyWindowProcedure # MyWindowProcedure інше FARPROC #endif... lResult = CallWindowProc (MyWindowProcedure,...) 

 

Докладніші відомості про функції, оголошені пустий аргумент списків зверніться до мови програмування C++, друге видання, на Bjarne Stroustrup.

Windows NT: CallWindowProc функція ручками Unicode-ANSI перетворення. Ви не зможете скористатися цього перетворення якщо назвати вікно процедура безпосередньо.

QuickInfo

nbsp; Windows &NT: вимагає 3.1 або пізнішої версії.
Windows:Вимагає Windows 95 або пізнішої версії.
Windows CE:Потрібна Версія 1.0 або пізнішу версію.
Заголовка:Оголошена в winuser.h.
Імпортувати бібліотеки:Використання user32.lib.
Юнікод:Реалізований у вигляді Юнікод і ANSI версії на Windows NT.

Дивіться також

Огляд вікна процедур, процедура функції вікон, GetWindowLong, SetClassLong, SetWindowLong

Index