Computer & Technik

Betriebssysteme

Windows

Senden und Empfangen von Botschaften

MS-WINDOWS basiert auf der Verarbeitung von Meldungen und Ereig­nissen, die mit Fenster(handles) verknüpft werden. Unter WINDOWS sendet so ziemlich alles Botschaften: Die Tastatur, die Maus, eventuell der oder die Timer und natürlich auch die eigene Appli­kation. Unter WINDOWS ist es verpönt, direkte Programmfunktionen aufzurufen, wenn damit mehr als ein Aufruf verbunden ist. Vielmehr sendet man sich selbst eine Nachricht, die die gewünschte Aktion auslöst.

WINDOWS verfügt über eine Reihe von Standard-Meldungen, die sich auf allgemeine Ereignisse wie zum beispiel Mausaktivitäten oder Tastatureingaben beziehen. Daneben gibt es auch Meldungen, die mit den von ihnen betroffenen Objekten verbunden sind, wie zum Bei­spiel die Anwahl von Menüpunkten. Sie ergibt immer nur einen Sinn, wenn das betroffene Menü bzw. der jeweilige Menüpunkt mit der Mel­dung transportiert werden.

Die Hauptschleife eines jeden WINDOWS-Programms sieht dement­sprechend eintönig aus:

VAR
  Message : TMsg;

WHILE GetMessage(Message, 0, 0, 0) DO
BEGIN
  TranslateMessage(Message);
  DispatchMessage(Message);
END;

 

Dies ist die Standard-Schleife, in die jede WINDOWS-Applikation nach der Initialisierung fällt. Sie wird erst wieder zum Beenden des Programms verlassen.

In diese Schleife lassen sich natürlich eine ganze Reihe von Tricks (oder sollte ich besser schreiben "Schweinereien") ein­bauen, aber der Grundaufbau ist immer gleich.

Da WINDOWS fleißig Meldungen verschickt, muß irgendwo in der Ap­plikation eine Anlaufstelle existieren. Denn erstens muß WINDOWS wissen, wohin die Meldungen verschickt werden sollen, und zweitens müssen die Meldungen ja auch irgendwie bearbeitet werden. Letz­teres ist jedoch nicht zwangsläufig nötig. Alle nicht bearbeiteten Meldungen werden üblicherweise an die System-Funktion DefWin­dowProc() übergeben, die diese normalerweise "schluckt".

Doch zurück zum Ansprechpartner von WINDOWS. Dessen Name lautet nach Microsoft-Vorgabe WinMain. Jede WINDOWS-Applikation muß eine Funktion diesen Namens implementieren, denn sobald die Applikation geladen ist, übergibt WINDOWS die Systemkontrolle an eben diese Funktion.





Sachgebiet


© 2009-2012 by Alojado Publishing. Alle Rechte vorbehalten. Ausgewiesene Marken gehören ihren jeweiligen Eigentümern.
Mit der Benutzung dieser Seite erkennen Sie die Nutzungsbedingungen und die Datenschutzerklärung an. Der Betreiber übernimmt keine Haftung für den Inhalt verlinkter externer Internetseiten.
Seite erzeugt 2012-05-20 03:11:23 von textarchiv.alojado.de