Freigeben über


_WSetPort( ), API-Bibliotheksroutine

Legt das angegebene Fenster als Ausgabefenster der Benutzer fest.

WHANDLE _WSetPort(WHANDLE wh)
WHANDLE wh;            /* Window handle. */

Hinweise

_WSetPort( ) gibt das Handle des vorherigen Ausgabefensters der Benutzer zurück.

Anmerkung   Wenn Ihre Routine das Ausgabefenster der Benutzer ändert, müssen Sie sicherstellen, dass dieses Ausgabefenster wiederhergestellt wird, bevor Sie zu Visual FoxPro zurückkehren.

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 wird ein Fenster erstellt und als Anschluss (Port) für Ausgaben festgelegt. Es wird Text in diesem Fenster ausgegeben, bevor auf den ursprünglichen Ausgabeanschluss zurückgeschaltet wird.

Visual FoxPro-Code

SET LIBRARY TO WSETPORT

C-Code

#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{

   WHANDLE wh;
   WHANDLE oldPort;

   wh = _WOpen(2,10,23,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *)0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   _PutStr("\n1) _WGetPort() ="); putLong(_WGetPort(), 10);

   oldPort = _WSetPort(wh);
   _PutStr("\n2) _WSetPort(wh) ="); putLong(oldPort, 10);

   _PutStr("\n3) _WGetPort() ="); putLong(_WGetPort(), 10);

   oldPort = _WSetPort(oldPort);
   _PutStr("\n4) _WSetPort(oldPort) =");  putLong(oldPort, 10);

   _PutStr("\nShould be back where we started.");
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Siehe auch

_WGetPort( ), API-Bibliotheksroutine | _PutStr( ), API-Bibliotheksroutine | _WShow( ), API-Bibliotheksroutine | Ein- und Ausgabe