Freigeben über


_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