Bezeichnung
SelectDisplay -- wählt ein Display als Ausgabeziel (V4.5)
Übersicht
SelectDisplay(id[, noactivate])
Beschreibung
Dieser Befehl macht das in id angegebene Display zum aktuellen Ausgabeziel. Das aktuelle Display ist das Display, auf welches nun alle Befehle von Hollywoods Grafikbibliothek Einfluss nehmen. Darüber hinaus arbeiten mehrere andere Befehle mit dem aktuellen Display, zum Beispiel wird SetPointer() die Maus des aktuell aktiven Display ändern.

Dieses optionale Argument NoActivate ist standardmäßig auf False gesetzt, womit das angegebene Display zum aktuellen Display und gleichzeitig aktiviert wird.

Stellen Sie sicher, dass Sie den Unterschied zwischen dem aktuellen und dem aktiven Display verstehen: Das aktuelle Display muss nicht unbedingt das aktive Display sein und umgekehrt. Das aktive Display hat nichts mit Hollywood selbst zu tun. Es bedeutet nur, dass der Window-Manager des Host-Betriebssystem das Display als aktiv markieret. Aktive Fenster werden auch die Tastaturfokus erhalten und auf einigen Betriebssystemen sind aktive Fenster immer nach vorne gesetzt.

Auf der anderen Seite ist das aktuelle Display das Display, in welches Befehle von Hollywood ihre Grafiken zeichnen können. So ist es auch möglich, ein inaktives Display zum aktuellen Display zu erklären.

Daher sollten Sie im Auge behalten, dass dieser Befehl das angegebene Display zum aktuellen Display macht. Optional ist es aber möglich, dieses Display auch zu aktivieren. Wenn Sie aber das Display nur aktivieren möchten, ohne dass es das aktuelle wird, benutzen Sie stattdessen den Befehl ActivateDisplay().

Beachten Sie auch, dass Hollywood immer ein aktuelles Display erfordert. Es ist nicht möglich, ein Hollywoodskript zu erstellen, ohne dass ein aktuelles Display vorhanden wäre. Sie können jedoch die Illusion eines Hollywoodskripts ohne aktuelles Display erzeugen, indem Sie mit dem Befehl CloseDisplay() alle Displays schließen (oder mit dem Hidden-Tag der @DISPLAY-Anweisung alle Fenster verbergen). Es wird dann so erscheinen, als ob es kein aktuelles Display hat. Das ist aber eine falsche Annahme, das das aktuelle Display einfach nicht sichtbar ist. Selbst wenn alle Displays geschlossen sind, werden Sie noch in der Lage sein, Befehle wie DisplayBrush() aufzurufen. Sie können immer noch ihre Grafiken auf das Display zeichnen, auch wenn es momentan nicht sichtbar ist. Deshalb können Sie SelectDisplay() auch auf geschlossene Displays anwenden.

Stellen Sie sicher, dass Sie SelectDisplay() nicht mit den ähnlich genannten Befehlen wie SelectBrush(), SelectBGPic(), SelectAnim(), SelectMask(), und SelectAlphaChannel() verwechseln. All diese Befehle benötigen den Aufruf von EndSelect(), wenn Sie mit ihnen fertig sind, aber SelectDisplay() hat diese Anforderung nicht. SelectDisplay() funktioniert in der Tat auf eine ganz andere Art und Weise, so dass Sie nie EndSelect() aufrufen müssen. Wenn Sie auf das zuvor aktuelle Display zurückkehren wollen, müssen Sie SelectDisplay() erneut aufrufen.

Wenn Sie SelectDisplay() aufrufen, während SelectBrush() (oder eines der anderen Select... Befehle) aktiv ist, wird Hollywood intern EndSelect() aufrufen, um zunächst SelectBrush() zu beenden. Danach wird SelectDisplay() das aktuelle Display wechseln.

Doppelgepufferte Modi werden durch SelectDisplay() nicht aufgehoben. Sie können den Fokus sicher von einem doppeltgepuffertes Display nehmen, indem Sie SelectDisplay() verwenden, einige Änderungen in dem anderen Display erledigen und dann wieder auf das doppeltgepufferte Display zurück kehren. Doppelgepufferte Modi werden vollständig von SelectDisplay() erhalten.

Beachten Sie auch, dass der Befehl OpenDisplay() das angegebene Display immer automatisch zum aktuellen Display erklärt, außer Sie benutzen das optionale Argument NoSelect. In der Regel müssen Sie SelectDisplay() überhaupt nicht aufrufen, wenn Sie OpenDisplay() benutzen. SelectDisplay() wird nur benötigt, wenn ein Display bereits geöffnet ist.

Eingaben
id
Identifikator des Displays, welches zum aktuellen wird
noactivate
optional: Auf True gesetzt wird das Display nicht aktiviert (voreingestellt ist False)

Navigation zeigen