Die Ereignisse

Nachdem soviel über das Empfangen von Nachrichten ausgesagt wurde, sollte man sich über die Art der Ereignisse Gedanken machen.

Während des Programmablaufs wird der Benutzer verschiedene Ereignisse auslösen. Man kann diese danach unterscheiden, ob sie für die Steuerung des Programmes oder der Oberfläche relevant sind. So hat die Nachricht, daß das Fenster verschoben wurde, nur mit der Gestaltung der Oberfläche zu tun und ist für die eigentliche Funktionalität des Programmes ohne Bedeutung. Dagegen führt das Schließen eines Fensters entweder zum Verwerfen des Fensterinhalts oder sogar zum Beenden des Programms. Es hat also neben den Auswirkungen auf die Oberfläche auch funktionale Konsequenzen für das Programm. Das Drücken einer Taste betrifft im Normalfall die Funktionalität der Anwendung direkt und hat somit nur mittelbar eine Auswirkung auf die Fenstergestaltung. Trennt man diese Aspekte sauber in der Programmierung, hat man nicht nur den ersten Schritt zur Möglichkeit einer Portierbarkeit der Software eingeschlagen, man erreicht darüber hinaus auch ein übersichtlicheres Programm.

Neben den Ereignissen wie z. B. dem Verschieben, die ein Fenster direkt betreffen, sind auch Benutzeraktionen wie Mausbetätigung, Menüauswahl und Tastendruck als Ereignisse des aktiven Fensters zu interpretieren. Unter MS-Windows, PM und X-Windows werden sie direkt den fensterbearbeitenden Funktionen zugeordnet und dort empfangen. Bei GEM und Macintosh erscheinen diese Ereignisse zwar in der zentralen Ereignisabfrage, der Benutzer wird aber seine Aktionen im Normalfall auf das aktive Fenster beziehen. Das Programm erhält mit der Ereignisnachricht auch die Information, welches Fenster betroffen ist und muß sie dem entsprechenden Fenster zuleiten.

Die verschiedenen Oberflächen bieten unterschiedliche Unterstützung bei der Bearbeitung der eintreffenden Nachrichten.

Bei GEM und Macintosh muß jede eingehende Nachricht von der Applikation selbst bearbeitet werden. Es gibt nur wenige Standardfunktionen, die das System bei Eintreffen bestimmter Ereignisse selbst ausführt. Dagegen gibt es bei den anderen Oberflächen eine Reihe von Standardaktionen, die vom System ohne Zutun des Programmes ausgeführt werden.

Neben den durch die Benutzung des Programmes ausgelösten Ereignisse, gibt es auch solche, die vom System ausgelöst werden. Beim Macintosh trifft ein Ereignis ein, wenn eine Diskette gewechselt wurde. Durch das Entfernen von Fenstern anderer Applikationen wird das System den Programmen, deren Fenster aufgedeckt wurden, eine Nachricht senden. Schließlich wird auch die Kommunikation zwischen fremden Programmen über solche Nachrichten gesteuert.


Homepage - Inhaltsverzeichnis (C) Copyright 1993-1999 Arnold Willemer