Заменяет окно пользовательского вывода заданным окном.
WHANDLE _WSetPort(WHANDLE wh) WHANDLE wh; /* Дескриптор окна. */ |
Примечания
_WSetPort( ) возвращает дескриптор предыдущего окна пользовательского вывода.
Замечание |
---|
Если вы в программе меняете окно пользовательского вывода, не забудьте перед возвратом в Visual FoxPro восстановить исходное окно. |
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
В следующем примере создается окно, которое принимается в качестве окна вывода. Программа записывает в него текст, а затем переключается на первоначальное окно вывода.
Код Visual FoxPro
Copy Code | |
---|---|
SET LIBRARY TO WSETPORT |
Код C
Copy 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 }; |
Смотрите также
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.