_WOpenP( ), 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 _WOpenP(int top, int left, int bottom, int right, int flag,
int scheme_num, Scheme FAR *scheme, char FAR *bord)
int top; /* Top coordinate in pixels. */
int left; /* Left coordinate in pixels. */
int bottom; /* Bottom coordinate in pixels. */
int right; /* Right coordinate in pixels. */
int flag; /* Attributes. */
int scheme_num; /* Color scheme. */
Scheme FAR *scheme; /* Points to color scheme to use. */
char FAR *bord; /* Border type. */
Hinweise
Die Fensterpositionen können außerhalb des Bildschirms liegen. 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. Dieser Parameter kann einen oder mehrere der in der folgenden Tabelle angegebenen flag-Werte aufweisen. 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 WOPENP
C-Code
#include <pro_ext.h>
FAR Example(ParamBlk FAR *parm)
{
WHANDLE wh;
char customScheme[12] =
{
BLACK_ON | WHITE,
RED_ON | BLACK | BLINK,
WHITE_ON | WHITE | BRIGHT,
CYAN_ON | BLUE | BRIGHT,
GREEN_ON | BROWN,
BROWN_ON | BROWN | BRIGHT,
MAGENTA_ON | MAGENTA | BRIGHT,
RED_ON | MAGENTA | BRIGHT | BLINK,
BROWN_ON | GREEN | BRIGHT,
BLACK_ON | CYAN,
BLUE_ON | CYAN,
};
_Execute("WAIT WINDOW 'Press any key to see a window \
in WINDOW_SCHEME with WO_DOUBLEBOX border'");
wh = _WOpenP(10, 10, 160, 320, 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 = _WOpenP(10, 10, 160, 320, 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 = _WOpenP(10, 10, 160, 320, 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 = _WOpenP(10,10,160,320,WEVENT | CLOSE,-1,customScheme,
WO_SYSTEMBORDER);
_WShow(wh);
}
FoxInfo myFoxInfo[] = {
{"ONLOAD", 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