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
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
Win32-API
Einstieg in C/C++
NET Framework