_WOpen( ), API-Bibliotheksroutine
Erstellt ein neues Fenster an den Koordinaten, die durch die Parameter top (oben), left (links), bottom (unten) und right (rechts) angegeben werden.
WHANDLE _WOpen(int top, int left, int bottom, int right, int flag,
int scheme_num, Scheme FAR *scheme, char FAR *bord)
int top; /* Row of top coordinate. */
int left; /* Column of left coordinate. */
int bottom; /* Row of bottom coordinate. */
int right; /* Column of right coordinate. */
int flag; /* Attributes. */
int scheme_num; /* Color scheme. */
Scheme FAR *scheme; /* Points to color scheme to use. */
char FAR *bord; /* Border type. */
Hinweise
Die Fensterkoordinaten können außerhalb des Bildschirms liegen. Die Höhe darf jedoch den Wert 120 und die Breite den Wert 264 nicht überschreiten. Es wird zusätzlicher Speicher reserviert, um den Teil des Fensters zu speichern, der außerhalb des Bildschirms liegt.
Die Fensterattribute werden über den flag-Parameter festgelegt. Der flag-Parameter kann einen oder mehrere der folgenden flag-Werte haben. Sie können mehrere Attributwerte kombinieren, indem Sie den C-Operator | oder den +-Operator verwenden. Typische Fensterränder werden in PRO_EXT.H definiert.
flag-Wert | Fensterattribut |
---|---|
WCURSOR | Die Einfügemarke kann in diesem Fenster angezeigt werden. |
ZOOM | Das Fenster kann vergrößert werden. |
ADJ | Die Größe des Fensters kann angepasst werden. |
CLOSE | Das Fenster kann geschlossen werden. |
MOVE | Das Fenster kann verschoben werden. |
AUTOSCROLL | In dem Fenster wird ein Bildlauf durchgeführt, wenn die Ausgabe über die letzte Zeile hinausgeht. |
WEVENT | Das Fenster empfängt, aktiviert und deaktiviert Ereignisse. |
SHADOW | Das Fenster wirft einen Schatten. |
WMODAL | Benutzer können dieses Fenster nicht in den Hintergrund bringen. |
WMINIMIZE | Das Fenster kann minimiert werden. |
Der scheme_num-Parameter kann eine beliebige gültige Farbschemanummer sein oder -1, um anzuzeigen, dass der scheme-Parameter auf das zu verwendende Farbschema zeigt.
Weitere Informationen zum Erstellen einer API-Bibliothek und ihrer Integration in Visual FoxPro finden Sie unter Zugreifen auf die Visual FoxPro-API.
Beispiel
Im folgenden Beispiel werden Fenster mit unterschiedlichen Farbschemata und Rahmen erstellt. Beachten Sie insbesondere das benutzerdefinierte Farbschema.
Visual FoxPro-Code
SET LIBRARY TO WOPEN
C-Code
#include <pro_ext.h>
FAR Example(ParamBlk FAR *parm)
{
WHANDLE wh;
Scheme customScheme =
{
(char) (BLACK_ON | WHITE),
(char) (RED_ON | BLACK | BLINK),
(char) (WHITE_ON | WHITE | BRIGHT),
(char) (CYAN_ON | BLUE | BRIGHT),
(char) (GREEN_ON | BROWN),
(char) (BROWN_ON | BROWN | BRIGHT),
(char) (MAGENTA_ON | MAGENTA | BRIGHT),
(char) (RED_ON | MAGENTA | BRIGHT | BLINK),
(char) (BROWN_ON | GREEN | BRIGHT),
(char) (BLACK_ON | CYAN),
(char) (BLUE_ON | CYAN),
};
_Execute("WAIT WINDOW 'Press any key to see a window \
in WINDOW_SCHEME with WO_DOUBLEBOX border'");
wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
WO_DOUBLEBOX);
_WShow(wh);
_Execute("WAIT WINDOW 'Press any key to see a window \
in ALERT_SCHEME with WO_SINGLEBOX border'");
_WClose(wh);
wh = _WOpen(2,2,20,70,WEVENT | CLOSE,ALERT_SCHEME, (Scheme FAR *) 0,
WO_SINGLEBOX);
_WShow(wh);
_Execute("WAIT WINDOW 'Press any key to see a window \
in WINDOW_SCHEME with WO_PANELBORDER border'");
_WClose(wh);
wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
WO_PANELBORDER);
_WShow(wh);
_Execute("WAIT WINDOW 'Press any key to see a window \
in a custom scheme with WO_SYSTEMBORDER border'");
_WClose(wh);
wh = _WOpen(2,2,20,70,WEVENT | CLOSE,-1,(Scheme FAR *) customScheme,
WO_SYSTEMBORDER);
_WShow(wh);
FoxInfo myFoxInfo[] = {
{"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_WClose( ), API-Bibliotheksroutine | _WSelect( ), API-Bibliotheksroutine | _WSetTitle( ) API-Bibliotheksroutine | _WShow( ), API-Bibliotheksroutine | Zugreifen auf die Visual FoxPro-API