Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Podtřídění je technika, která umožňuje aplikaci zachytit a zpracovávat zprávy odeslané nebo publikované do určitého okna, ještě než má procedura okna možnost je zpracovat. Operační systém automaticky konvertuje zprávy do znakové stránky Windows (ANSI) nebo formátu Unicode v závislosti na formě funkce, která podtřídí proceduru okna.
Následující volání funkce SetWindowLongA podtřízuje aktuální proceduru okna přidruženou k oknu identifikovanému parametrem hWnd. Alternativně může aplikace použít SetWindowLongPtrA. Nová procedura okna NewWndProcobdrží zprávy s textem ve formátu znakové stránky Windows.
OldWndProc = (WNDPROC) SetWindowLongA(hWnd,
GWL_WNDPROC, (LONG)NewWndProc);
Když NewWndProc dokončí zpracování zprávy, použije funkci CallWindowProc následujícím způsobem předat zprávu OldWndProc.
CallWindowProc(OldWndProc, hWnd, uMessage, wParam, lParam);
Pokud byl OldWndProc vytvořen s použitím stylu třídy UNICODE, zprávy jsou přeloženy z kódové stránky Windows přijaté NewWndProc do Unicode.
Podobně volání funkce SetWindowLongW nebo SetWindowLongPtrW nahrazuje aktuální proceduru okna novou procedurou, která očekává textové zprávy v Unicode. Překlad zpráv se v případě potřeby provádí během zpracování funkce CallWindowProc.
Další informace o podtřídění naleznete v tématu Okenní procedury.
Související témata