Home
Navigation
Impressum
Coder Welten - Programmierung und Optimierung
Coder Welten
 
 

 

 

Funktionsweise von Windows-Anwendungen

Von Illusionen, Clientbereichen und Koordinatensystemen

Der Name Windows steht nicht nur für ein Betriebssystems, sondern viel mehr noch für die grafische Benutzeroberfläche des Betriebssystems und für die auf dieser Oberfläche dargestellten Objekte. Nicht alle, doch alle vom Benutzer aufgerufenen sichtbaren Anwendungen werden als Fenster auf dieser grafischen Benutzeroberfläche dargestellt. Um Fenster handelt es sich selbst dann, wenn der Benutzer einige Anwendungen nicht als Fenster wahrnimmt, z.B. weil einigen Anwendungen der typische Fensterrahmen fehlt.
Fenster-Anwendungen oder besser, Windows-Anwendungen bestehen mindestens aus einem Hauptfenster, welches oftmals noch über eine Reihe von Kindern verfügt, den sogenannten Child-Fenstern. Zu den Kindern einer Anwendung werden auch Menüs, Schaltflächen, Eingabefelder usw. gerechnet, die vom Prinzip eigene Fenster darstellen, auch wenn diese Objekte beim Benutzer kaum den Eindruck eines Fensters erwecken. Je nach den gestellten Anforderungen können Child-Fenster wieder eigene Kinder besitzen.

Windows-Anwendungen und ebenso die Fenster von untergeordneten Fenstern, wie Popups oder Dialogfenster, bestehen aus einem Clientbereich und einem Nicht-Clientbereich. Der Clientbereich ist der nutzbare Bereich einer Anwendung, der von einem Fensterrahmen oder Frame (Nicht-Clientbereich) eingefasst wird. Je nach Beschaffenheit des Fensterrahmens befindet sich auf dem Rahmen ein Logo, gefolgt von einer Titelzeile und auf der gegenüberliegenden Fensterseite die typischen Schaltflächen zum Minimieren, Maximieren und zum Schließen des Fensters.
Auf die Beschaffenheit und das Erscheinungsbild des Rahmens kann ein Programmierer bei der Erstellung einer Windows-Anwendung zwar Einfluss nehmen, dennoch wird der Rahmen nicht von der Anwendung, sondern vom Betriebssystem verwaltet. Anders sieht es mit dem Clientbereich aus. Für alles was im Clientbereich einem zukünftigen Nutzer ermöglicht werden soll, trägt der Programmierer die Verantwortung, da dieser Bereich von der von ihm programmierten Anwendung verwaltet wird.

Eine
        Windows-Anwendung mit Clientbereich und Rahmen
Eine Windows-Anwendung mit Clientbereich und Rahmen

Dass sich Windows-Anwendungen je nach dem Funktionsumfang einer Anwendung über Tastatureingaben, Mausbewegungen und Klicks sowie bei Touchscreens durch leichten Fingerdruck steuern lassen, ist für Programmierer wie für Anwender eine Selbstverständlichkeit. So sehr eine Selbstverständlichkeit, dass sich über die Funktionsweise niemand mehr Gedanken macht, zumindest niemand, der sich nicht mit der Entwicklung von Windows-Anwendungen beschäftigt.
Auch das es sich bei einem Mausklick um keinen echten Klick auf eine Schaltfläche oder bei einer Webanwendung um keinen echten Klick auf einem Link handelt, sondern nur um eine Illusion, wird kaum einem Nutzer bewusst. Eine Illusion die so perfekt ist, dass sich selbst Programmier-Einsteiger zuweilen kaum Gedanken darüber machen, dass es sich um keine echten Buttons oder Schaltflächen handelt, sondern nur um virtuelle Nachbildungen. Doch wie kommt es, dass sich kaum jemand stetig ins Bewusstsein ruft, dass er nur mit den Fingern auf die Taste seiner Maus geklickt hat und nicht auf eine real existierende Schaltfläche einer Anwendung?

Ermöglicht wird diese Illusion durch ein Koordinatensystem. Bei jeder Bewegung der Maus ermittelt das Betriebssystem die relative Position des Mauszeigers als Koordinaten. Das Koordinatensystem entspricht dabei der sichtbaren Fläche des angeschlossenen Monitors, wobei die Berechnung in Pixel als Maßeinheit erfolgt. Ausgangspunkt für die Berechnung ist die linke obere Ecke des Bildschirms. Bei der errechneten Position wird dann die Spitze des Cursors auf der grafischen Benutzeroberfläche dargestellt.
Stellt das Betriebssystem bei der Berechnung fest, dass sich an der berechneten Position ein geöffnetes Anwendungsfenster befindet, so erhält die Anwendung vom Betriebssystem eine Mitteilung über die Benutzeraktivitäten und als Ausgangspunkt werden die Koordinaten relativ zum Fenster oder je nach Benutzeraktivität, relativ zum Clientbereich berechnet.
Auch Touchscreens besitzen ein unsichtbares Koordinatensystem, nur die technische Umsetzung bei Touchscreens unterscheidet sich hardwareseitig von der Umsetzung bei einer optischen Maus.

Ob Maus oder Touchscreen, es ist das Betriebssystem, welches berechnet, bei welchen Koordinaten eine Benutzeraktivität erfolgte. Auch ist es das Betriebssystem, welches eine Anwendung benachrichtigt, falls eine Benutzeraktivität im Clientbereich einer Anwendung erfolgte. Doch es ist die jeweils benachrichtigte Anwendung, die diese Nachricht wie vom Programmierer gewünscht auswertet und auf die Benachrichtigung reagiert und antwortet.

weiterlesen » Erstellen von Fenstern

 

Copyright © Verlag Horst Müller - Stendal - 2006 - Impressum - Datenschutz - Nutzungsbedingungen