Fenster Verfahren Subclassing

Wenn eine Anwendung ein Fenster erstellt, ordnet das System einen Speicherblock, der für die Speicherung von Informationen über Fenster, einschließlich der Adresse der die Fensterprozedur, die Meldungen für das Fenster verarbeitet. Wenn das System eine Nachricht an das Fenster übergeben muss, sucht die Fenster-spezifische Informationen für die Adresse von der Fensterprozedur und übergibt die Nachricht an dieses Verfahren.

Erstellen von Unterklassen ist eine Technik, die eine Anwendung zum Abfangen und verarbeiten Nachrichten gesendet oder zu einem bestimmten Fenster geschrieben werden, bevor das Fenster eine Chance hat, sie zu verarbeiten. Unterklassen eines Fensters, kann eine Anwendung ergänzen, ändern oder das Verhalten des Fensters überwachen. Eine Anwendung können eine Unterklasse eines Fensters gehören ein System global-Klasse, z. B. ein Edit-Steuerelement oder ein Listenfeld. Beispielsweise könnte eine Anwendung Unterklasse eines Edit-Steuerelements um zu verhindern, dass das Steuerelement bestimmte Zeichen akzeptieren. Allerdings können Sie Unterklasse, einem Fenster oder einer Klasse, die zu einer anderen Anwendung gehört. Alle Unterklassen muss innerhalb des gleichen Prozesses ausgeführt werden.

Eine Anwendung-Unterklassen ein Fenster ersetzt die ursprüngliche Fensterprozedur des Fensters-Adresse mit der Adresse einer neuen Fensterprozedur, die Unterklasse-Prozeduraufgerufen. Danach empfängt die Unterklasse-Prozedur keine Nachrichten gesendet oder an das Fenster gesendet.

Die Unterklasse-Prozedur kann drei Aktionen nach dem Empfang einer Nachricht: Es kann die Nachricht an die ursprüngliche Fensterprozedur übergeben, ändern Sie die Nachricht und übergeben Sie sie an die ursprüngliche Fensterprozedur, oder Verarbeiten der Nachricht und nicht an die ursprüngliche Fensterprozedur übergeben. Wenn die Unterklasse-Prozedur eine Nachricht verarbeitet, kann hierzu vor, nach, oder beide vor und nach die Meldung an die ursprüngliche Fensterprozedur übergeben wird.

Das System bietet zwei Arten von Unterklassen: Instanz und global. Eine Anwendung ersetzt in Instanz Unterklassendie Fenster der Prozeduradresse einer einzelnen Instanz eines Fensters. Eine Anwendung muss Instanz bilden von Unterklassen für Unterklasse ein vorhandenes Fensters verwenden. Eine Anwendung ersetzt in globalen Unterklassendie Adresse der die Fensterprozedur in der WNDCLASS Struktur einer Fenster-Klasse. Alle nachfolgenden Fenster mit der Klasse erstellt haben, die Adresse der Unterklasse-Prozedur, aber alle vorhandenen Fenster der Klasse sind nicht betroffen.

Index