Home Fensterdialoge WINDOW DIALOG - SET SIZE (AES 165, 2) WINDOW DIALOG - UNICONIFY (AES 165, 4)

2.3.13 WINDOW DIALOG - ICONIFY (AES 165, 3)

Mit wdlg_set_iconify() kann eine Fensterdialog ikonifiziert werden. Das GRECT <g> bestimmt die neue Position und Größe des Fensters (Außenmaß). Im allgemeinen wird man hier msg+4 übergeben, wenn man die Nachricht WM_ICONIFIY erhalten hat. Genauso kann man jedoch auch ein GRECT {-1,-1,-1,-1} übergeben, wobei MagiC die Position ermittelt.

ICONIFY ändert Position und Größe des Wurzelobjekts. Da man i.a. für ikonifizierte Fenster einen anderen Objektbaum anzeigen möchte, kann dieser in <tree> übergeben werden (sonst auf NULL setzen).

Üblicherweise besteht ein solcher Objektbaum lediglich aus dem Wurzelobjekt (G_BOX) und einem Icon (G_(C)ICON). Soll das Icon (oder ein anderes Objekt) im Fenster zentriert werden, übergibt man die Objektnummer in <obj>, andernfalls -1. Weiterhin kann ein neuer Fenstertitel angegeben werden. Der Aufrufer hat dabei aber selbst dafür zu sorgen, bei wdlg_set_uniconify wieder den ursprünglichen Titel einzusetzen.

Deklaration:
WORD wdlg_set_iconify( DIALOG *dialog, GRECT *g,
               char *title, OBJECT *tree, WORD obj );

Aufruf:
wdlg_set_iconify( dialog, g, title, tree, obj );

Variable         Belegung            Bedeutung
Eingaben:

contrl[0]        165                 wdlg_set
contrl[1]        2                   Einträge in intin
contrl[2]        1                   Einträge in intout
contrl[3]        4                   Einträge in addrin

intin[0]         3                   wdlg_set_iconify
intin[1]         obj                 zu zentrierendes Objekt oder -1

addrin[0]        dialog              Zeiger auf die Dialog-Struktur
addrin[1]        g                   Zeiger auf GRECT
addrin[2]        title               neuer Fenstertitel oder NULL
addrin[3]        tree                neuer Fensterbaum oder NULL

Ausgaben:

intout[0]        1

Bemerkung: Diese Funktion ist erst ab WDIALOG 1.05 vorhanden. Wenn sie nicht vorhanden ist, enthält intout[0] eine 0.


Home Fensterdialoge WINDOW DIALOG - SET SIZE (AES 165, 2) WINDOW DIALOG - UNICONIFY (AES 165, 4)