_WScrollP( ) (Rutina de biblioteca API)
Desplaza una parte del contenido de una ventana a la izquierda o la derecha y hacia arriba o hacia abajo.
void _WScrollP(WHANDLE wh, Rect r, int dv, int dh)
WHANDLE wh; /* Window handle. */
Rect r; /* Portion to scroll. */
int dv; /* Left or right. */
int dh; /* Up or down. */
Observaciones
- El parámetro r describe la parte de la ventana que se va a desplazar.
- El parámetro dv describe el número de píxeles que se va a desplazar la ventana a izquierda o derecha. Si dv es negativo, el contenido de la ventana se desplazará hacia la izquierda. Si dv es positivo, se desplazará a la derecha.
- El parámetro dh describe el número de píxeles que se va a desplazar la ventana hacia arriba o hacia abajo. Si dh es negativo, el contenido de la ventana se desplazará hacia arriba. Si dh es positivo, se desplazará hacia abajo.
Si dv y dh son 0, _WScrollP( ) borra los caracteres del interior del rectángulo.
Para obtener más información acerca de cómo crear una biblioteca API e integrarla con Visual FoxPro, vea Acceso a la API de Visual FoxPro.
Ejemplo
El ejemplo siguiente abre una ventana y dibuja un patrón rectangular de X. Este rectángulo es también el rectángulo de desplazamiento. En primer lugar, _WScrollP( ) desplaza el rectángulo hacia arriba y a la izquierda. A continuación, desplaza el rectángulo hacia abajo y a la derecha.
Código Visual FoxPro
SET LIBRARY TO WSCROLLP
Código C
#include <pro_ext.h>
FAR WScrollEx(ParamBlk FAR *parm)
{
WHANDLE wh;
Point pos;
Rect rect;
wh = _WOpenP(2, 2, 160, 320, WEVENT | CLOSE, WINDOW_SCHEME,
(char *) 0, WO_SYSTEMBORDER);
_WShow(wh);
rect.top = 40;
rect.left = 40;
rect.bottom = 100;
rect.right = 100;
for (pos.v = rect.top; pos.v < rect.bottom; pos.v += 6)
{
for (pos.h = rect.left; pos.h < rect.right; pos.h +=6)
{
_WPosCursorP(wh, pos);
_WPutChr(wh, 'X');
}
}
_Execute("WAIT 'Press any key to _WScroll(wh, rect, -20, -20)'");
_WScrollP(wh, rect, -20, -20);
_Execute("WAIT 'Press any key to _WScroll(wh, rect, +40, +40)'");
_WScrollP(wh, rect, +40, +40);
}
FoxInfo myFoxInfo[] =
{
{"ONLOAD", WScrollEx, CALLONLOAD, ""},
};
FoxTable _FoxTable =
{
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Vea también
_WClear( ) (Rutina de biblioteca API) | Acceso a la API de Visual FoxPro | _WPosCursor( ) (Rutina de biblioteca API) | _WPutChr( ) (Rutina de biblioteca API)