CallWindowProc

CallWindowProc işlevi ileti bilgilerini belirtilen pencereyi yordam geçirir.

lresult CallWindowProc) wndproc  lpPrevWndFunc, / / önceki yordamı işaretçisinehwndhWnd, / / idare pencereyeUINTMsg, // messagewparamwParam, / / ilk mesajı parametresilparamlParam / / saniye iletisi parametresi);
 

Parametreleri

lpPrevWndFunc
Önceki pencere yordamı işaretçisine.

Bu değeri gwl_wndproc veya dwl_dlgproc nIndex parametresi ile GetWindowLong işlevini çağırarak elde edilir, aslında ya da adresini bir pencere veya iletişim kutusu yordamı veya adres gösteren tanıtıcı 's.

hWnd
İleti almak için pencere yordamı ele.
Msg
İletiyi belirtir.
wParam
Ek message özgü bilgileri belirtir. Bu parametre ba?lydyr Msg parametresi değeri.
lParam
Ek message özgü bilgileri belirtir. Bu parametre ba?lydyr Msg parametresi değeri.

Dönüş değerleri

Dönüş değeri ileti işleme sonucu belirtir ve gönderilen mesaj bağlıdır.

Açıklamalar

Pencere sınıflara için CallWindowProc işlevini kullanın. Genellikle, tüm windows ile aynı sınıfta bir pencere yordamı paylaşın. Bir pencere veya windows ile aynı sınıfta olan iletileri el konulan ve başka bir pencere yordamı (veya yordamları) sınıfın penceresini yordama geçirilen önce işlenen bir alt sınıfıdır.

SetWindowLong işlevi, eskisinin yerine yeni pencerede yordamy ça?yran sistem neden, belirli bir pencere ile ilişkili pencere yordamı değiştirerek alt sınıfı oluşturur. Bir uygulama tarafından önceki pencere yordamı yeni pencere yordamı CallWindowProcçağırarak uygulanmamasına iletileri geçmesi gerekir. Bu pencere işlemleri zinciri oluşturmak için uygulama sağlar.

STRICT tanımlanmışsa, lpPrevWndFunc parametre veri türüne sahip wndproc. wndproc türü aşağıdaki şekilde bildirilmiş

LRESULT (CALLBACK * WNDPROC) (HWND, UINT, WPARAM, LPARAM) 

 

STRICT tanımlanmamışsa, lpPrevWndFunc parametre veri türüne sahip farproc. farproc türü aşağıdaki şekilde bildirilmiş

int (far WINAPI * farproc)) 

 

C, farproc beyanı belirtilmemiş parametre listesine sahip bir geriçağırım işlevi gösterir. C++'da, ancak, boş parametre listesi bildirimindeki bir işlev parametre olduğunu gösterir. Bu ince fark, dikkatsiz kod zarar verebilir. Aşağıda bu durumu idare etmek için bir yol olduğunu:

#ifdef kesin wndproc MyWindowProcedure # başka farproc MyWindowProcedure endif... lResult = CallWindowProc (MyWindowProcedure,...) 

 

c++ programlama dili, Second Edition, Bjarne Stroustrup tarafından boş bağımsız değişken listelerle ilan işlevleri hakkında daha fazla bilgi için bakın.

Windows NT: CallWindowProc işlevi Unicode ANSI dönüşüm gerçekleştirir. Pencere yordamı doğrudan ça?yryrsanyz, bu dönüşüm yararlanamaz.

QuickInfo

nbsp; Windows &NT: sürüm 3.1 veya üstü gerektirir.
Windows:Windows 95 veya sonraki sürümleri gerektirir.
Windows ce:Sürüm 1.0 veya daha ilerisini gerektirir.
Header:WINUSER.h ilan etti.
İçe Library:User32.lib kullanın.
Unicode:Unicode ve ANSI sürümleri Windows NT olarak uygulanır.

Ayrıca bkz:

Pencere işlemleri genel bakış, pencere yordamı işlevleri, GetWindowLong, SetClassLong, SetWindowLong

Index