Globalne podklasy

Do podklasy globalnie klasy okna aplikacja musi mieć dojście do okna klasy. Aplikacja wymaga również uchwyt, aby usunąć podklasy. Aby uzyskać dojście, aplikacja tworzy zazwyczaj ukryte okno klasy jest podklasą klasy. Po uzyskaniu uchwyt, aplikacja ta wywołuje funkcję SetClassLong , określający dojście, Flaga GCL_WNDPROC i adres procedury podklasy. SetClassLong zwraca adres procedury oryginalne okno klasy.

Oryginalny adres procedury okna jest używany w globalnej podklasy w taki sam sposób, który jest używany w instancji podklasy. Procedura podklasy przekazuje wiadomości oryginalnej procedury okna przez wywołanie CallWindowProc. Stosowanie usuwa podklasy z klasy okno przez wywołanie SetClassLong ponownie, określając adres oryginalnego procedurę okna, Flaga GCL_WNDPROC i dojście do okna klasy, przy czym podklasy. Wniosek, że globalnie podklas klasy kontroli należy usunąć podklasy jeżeli aplikacji kończy; w przeciwnym razie mogą wystąpić nieodwracalny błąd systemowy.

Globalne podklasy ma te same ograniczenia jako instancji podklasy oraz niektórych dodatkowe ograniczenia. Aplikacja powinna nie używać dodatkowych bajtów dla klasy lub wystąpienia okna nie znając dokładnie jak oryginalne okno procedura wykorzystuje je. Jeżeli aplikacji należy skojarzyć dane z okna, należy użyć właściwości okna.

Index