Windows-Manager

Der Window-Manager liefert einen Satz von Routinen, die Sie auf einfache Weise erstellen, verschieben, skalieren und anderweitig zu manipulieren, eine beliebige Anzahl von Windows zu ermöglichen. Es bietet auch auf niedrigerer Ebene Unterstützung durch die Verwaltung der Schichtung der Fenster auf dem Display und durch Alarmierung Ihre Bewerbung an Veränderungen, die ihre Windows beeinträchtigen Display.
Terminologie

Windows haben eine rechteckige Form, definiert durch ihre Herkunft (die X-und Y-Koordinaten der linken oberen Ecke) sowie deren X-und Y-Größen (Breite und Höhe jeweils). Ein ? C / GUI-Fenster:

  • Ist rechteckig.
  • Hat eine Z-Position.
  • Ausgeblendet oder angezeigt werden.
  • Möglicherweise gültigen bzw. ungültigen Bereichen.
  • Kann oder auch nicht haben Transparenz.
  • Kann oder auch nicht über eine Callback-Routine.
Aktives Fenster Das Fenster, das derzeit für die Ausarbeitung Operationen verwendet wird als das aktive Fenster bezeichnet. Es ist nicht unbedingt das gleiche wie das oberste Fenster.

Callback-Routinen
Callback-Routinen sind durch den Anwender-Programm definiert, Hilfestellung für die Grafik-System auf eine bestimmte Funktion, wenn ein bestimmtes Ereignis eintritt nennen. Normalerweise werden sie verwendet, um automatisch ein Fenster neu zu zeichnen, wenn ihr Inhalt geändert hat.

Kind / Eltern-Fenster, Geschwister
Ein Kind ist ein Fenster, dass sich relativ zu einem anderen Fenster, definiert als die Muttergesellschaft. Immer wenn ein übergeordnetes Fenster bewegt, bewegen ihre Kind oder Kinder entsprechend. Ein Kind Fenster ist immer vollständig innerhalb des übergeordneten enthalten, und wird abgeschnitten, falls erforderlich. Mehrere untergeordnete Fenster mit den gleichen Eltern werden als "Geschwister" zu einander. Client areaThe Client-Bereich eines Fensters ist einfach seine nutzbare Fläche. Wenn ein Fenster oder Frame enthält eine Titelleiste, dann den Client-Bereich ist die rechteckigen inneren Bereich. Wenn es keinen solchen Rahmen, dann die Koordinaten des Client-Bereichs sind identisch mit denen des Fensters selbst.

Clipping, Clip-Bereich

Clipping ist der Prozess der Einschränkung der Erzeugung, um ein Fenster oder ein Teil davon. Der Clip eines Fensters ist seine sichtbaren Bereich. Das ist das Fenster Bereich abzüglich der von den Geschwistern der höheren Z-Reihenfolge behindert werden, abzüglich der Teil, der nicht in den sichtbaren Bereich des übergeordneten Fensters passt.

Kundenbereich

Der Client-Bereich eines Fensters ist einfach seine nutzbare Fläche. Wenn ein Fenster oder Frame enthält eine Titelleiste, dann den Client-Bereich ist die rechteckigen inneren Bereich. Wenn es keinen solchen Rahmen, dann die Koordinaten des Client-Bereichs sind identisch mit denen des Fensters selbst.

Desktop-Fenster

Die Desktop-Fenster wird automatisch durch den Fenster-Manager erstellt wurde, und deckt stets die gesamte Anzeigefläche. Es ist immer die unterste Fenster, und wenn kein anderes Fenster definiert wurde, es ist der Standard (aktiv) Fenster. Alle Fenster sind Nachkommen (Kinder, Enkel, etc.) der Desktop-Fenster.

Behandeln, wenn ein neues Fenster erstellt wird, weist der WM ist eine eindeutige Kennung aufgerufen Griff. Der Griff ist in allen weiteren Operationen auf, dass insbesondere Fenster vorgenommen wurden.
Aus-/Einblenden Windows
Ein verstecktes Fenster nicht sichtbar ist, existiert aber immer noch (ein Handgriff). Wenn ein Fenster erstellt wird, wird es standardmäßig ausgeblendet, wenn kein Flag angegeben schaffen. Angezeigt wird ein Fenster macht es sichtbar, versteckt sie macht ihn unsichtbar. Transparency Ein Fenster, das die Transparenz hat, enthält Gebiete, die nicht neu gezeichnet, mit dem Rest des Fensters. Diese Bereiche arbeiten, als ob das Fenster hinter "zeigt durch" sie. In diesem Fall ist es wichtig, dass das Fenster hinter neu gezeichnet wird, bevor die Win-dow mit Transparenz. Die WM verarbeitet automatisch in der richtigen Reihenfolge redrawal.
Transparenz
Ein Fenster, das die Transparenz hat, enthält Gebiete, die nicht neu gezeichnet, mit dem Rest des Fensters. Diese Bereiche arbeiten, als ob das Fenster hinter "zeigt durch" sie. In diesem Fall ist es wichtig, dass das Fenster hinter neu gezeichnet, bevor das Fenster mit der Transparenz ist. Die WM verarbeitet automatisch in der richtigen Reihenfolge neu gezeichnet.
Validation / Ungültigerklärung
Eine gültige Fenster ist ein Fenster, das vollständig aktualisiert nicht braucht Neuzeichnen. Eine ungültige Fenster noch nicht wiedergeben alle Updates und muss daher neu gezeichnet werden, entweder vollständig oder teilweise. Wenn Änderungen vorgenommen werden, die Auswirkungen auf ein bestimmtes Fenster, die WM als ungültig markiert, dass Fenster. Das nächste Mal das Fenster neu gezeichnet wird (entweder manuell oder durch eine Callback-Routine) wird validiert werden.
Z-Position, oben / unten
Obwohl ein Fenster auf einem zweidimensionalen Bildschirm in Form von X und Y, die WM verwaltet auch angezeigt, was als Z-Position, oder Tiefe zu koordinieren - eine Position in einem virtuellen dritte Dimension, die die Platzierung bestimmt vom Hintergrund bekannt Vorgrunde. Windows kann sich daher auf oben erscheinen oder unter einander. Festlegen eines Fensters an der Unterseite wird es statt "unter" alle seine Geschwister Fensterheber (falls vorhanden); wenn er auf der Spitze wird es statt "on top" seiner Geschwister. Wenn ein Fenster erstellt wird, wird es an die Spitze standardmäßig gesetzt, wenn kein Flag angegeben schaffen.

Callback-Mechanismus des Window-Manager

Die WM kann mit oder ohne Callback-Routinen verwendet werden. In den meisten Fällen mit Call-backs ist vorzuziehen. Philosophie hinter dem Callback-Mechanismus
Die Idee hinter dem Callback-Mechanismus, dass ? C / GUI für Windows und Window-Objekte (Widgets) bietet, ist, dass ein Ereignis-basiertes System. Wie in den meisten Windows-Systeme ist das Prinzip, dass der Fluss der Kontrolle nicht nur von dem Benutzer-Programm, um die Grafik-System, sondern auch aus dem Anwenderprogramm um die Grafik-System und zurück bis zu dem Benutzer-Programm mittels der Callback-Routinen vorgesehen durch den Anwender-Programm. Dieser Mechanismus - oft als das Hollywood-Prinzip gekennzeichnet ("Don't rufen Sie uns an, wir rufen Sie an!") - Wird durch den Window-Manager benötigt vor allem um die Neufestlegung der Windows auslösen. Dies kontrastiert mit der klassischen Programmierung, aber es macht es möglich, die Ungültigerklärung der Logik des Window-Manager nutzen.
Nicht mit Callbacks
Sie müssen keine Callback-Routinen zu verwenden, aber dabei die WM die Möglichkeit zur Verwaltung Neuzeichnen verliert (Aktualisierung) der Fenster. Es ist auch möglich zu mischen, z. B. unter Verwendung einiger Windows-Rückrufe und andere nicht. Allerdings, wenn ein Fenster nicht nutzt die Callback-Mechanismus, wird Ihre Bewerbung für die Aktualisierung ihrer Inhalte. API-Referenz: WM
Die folgende Tabelle listet die verfügbaren ? C / GUI-Funktionen des Window-Manager API. Alle Funktionen sind in alphabetischer Reihenfolge in ihren jeweiligen Kategorien aufgeführt:
Funktionsbeschreibung Grundlegende Funktionen

WM_CreateWindow Erstellen eines Fensters.
WM_CreateWindowAsChild Erstellen eines Kindes Fenster.
WM_DeleteWindow Löschen eines Fensters.
WM_ExecIdle Redraw ungültigen Windows durch Ausführen von Callbacks.
WM_GetClientRect Liefert die Größe des aktiven Fensters.
WM_GetDialogItem Return das Fensterhandle ein Dialogfeld Element (Widget).
WM_GetOrgX Rückkehr in den Ursprung X des aktiven Fensters.
WM_GetOrgY Rückkehr in den Ursprung Y des aktiven Fensters.
WM_GetWindowOrgX Rückkehr in den Ursprung eines X-Fenster.
WM_GetWindowOrgY Rückkehr in den Ursprung Y eines Fensters.
Zurück WM_GetWindowRect die Bildschirm-Koordinaten des aktiven Fensters.
Zurück WM_GetWindowSizeX die horizontale Größe (Breite) eines Fensters.
WM_GetWindowSizeY Liefert die vertikale Größe (Höhe) eines Fensters.
WM_HideWindow Stellen ein Fenster unsichtbar.
WM_InvalidateArea Invalidate einen bestimmten Abschnitt des Displays.
WM_InvalidateRect Invalidate Teil eines Fensters.
WM_InvalidateWindow Invalidate ein Fenster.
WM_MoveTo Legen Sie die Position eines Fensters.
WM_MoveWindow Verschieben eines Fensters an eine andere Position.
WM_PAINT Draw oder ein Fenster neu zu zeichnen sofort.
WM_ResizeWindow Change Fenstergröße.
WM_SelectWindow Set das aktive Fenster zur Zeichnung für Operationen verwendet werden.
WM_ShowWindow Stellen ein Fenster sichtbar.
Erweiterte Funktionen

WM_ACTIVATE Aktivieren Sie den Window-Manager.
WM_BringToBottom Place ein Fenster hinter seinen Geschwistern.
WM_BringToTop Place ein Fenster vor seiner Geschwister.
WM_ClrHasTrans Clear hat die Transparenz Flagge.
WM_Deactivate Deaktivieren Sie den Window-Manager.
WM_DefaultProc Default-Routine, um Nachrichten zu behandeln.
WM_GetActiveWindow Rückkehr des aktiven Fensters.
WM_GetDesktopWindow Return of the Desktop-Fensters.
WM_GetFirstChild Return eines Fensters das erste Kind Fenstergriff.
WM_GetNextSibling Return Griff eines Fensters nächsten Geschwister.
WM_GetHasTrans Return aktuellen Wert der Transparenz hat Flagge.
WM_GetParent Return eines Fensters Muttergesellschaft Fenstergriff.
WM_Init Initialize-Window-Manager. Nicht mehr erforderlich, erfolgt durch GUI_Init ().
WM_IsWindow Bestimmen Sie, ob eine angegebene Handle ist ein gültiges Fensterhandle.
WM_SendMessage Sende eine Nachricht an ein Fenster.
WM_SetDesktopColor Set Desktop Window Color.
WM_SetCallback Legen Sie die Callback-Routine für ein Fenster.
WM_SetCreateFlags Setzt die Flaggen, die als Standard beim Erstellen von neuen Fenstern eingesetzt werden
WM_SetHasTrans Set hat die Transparenz Flagge.
WM_SetUserClipRect die vorübergehende Senkung der Clipping-Bereich.
WM_ValidateRect Validate Teile eines Fensters.
WM_ValidateWindow Validate ein Fenster.
Memory Device Support (optional)
WM_DisableMemdev Disable Nutzung von Speichergeräten für Neuzeichnen.
WM_EnableMemdev Enable Nutzung von Speichergeräten für Neuzeichnen.

Members Login
username
password
New MemberRegister Here
Newsletter Signup