
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