_WScroll( ) (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 _WScroll(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 caracteres 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 caracteres 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, _WScroll( ) borrará 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, el ejemplo desplaza el rectángulo dos posiciones hacia arriba y dos posiciones a la izquierda. A continuación, desplaza el rectángulo cuatro posiciones hacia abajo y cuatro posiciones a la derecha.
Código Visual FoxPro
SET LIBRARY TO WSCROLL
Código C
#include <pro_ext.h>
FAR WScrollEx(ParamBlk FAR *parm)
{
WHANDLE wh;
Point pos;
Rect rect;
wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
WO_SYSTEMBORDER);
_WShow(wh);
rect.top = 6;
rect.left = 6;
rect.bottom = 12;
rect.right = 12;
for (pos.v = rect.top; pos.v < rect.bottom; pos.v++)
{
for (pos.h = rect.left; pos.h < rect.right; pos.h++)
{
_WPosCursor(wh, pos);
_WPutChr(wh, 'X');
}
}
_Execute("WAIT WINDOW 'Press any key to _WScroll(wh,rect,-2,-2)'");
_WScroll(wh, rect, -2, -2);
_Execute("WAIT WINDOW 'Press any key to _WScroll(wh,rect,+4,+4)'");
_WScroll(wh, rect, +4, +4);
}
FoxInfo myFoxInfo[] = {
{"ONLOAD", (FPFI) 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 | _WScrollP( ) (Rutina de biblioteca API) | _WPosCursor( ) (Rutina de biblioteca API) | _WPutChr( ) (Rutina de biblioteca API)