Прокручивает часть содержимого окна влево или вправо, а также вверх или вниз.
void _WScrollP(WHANDLE wh, Rect r, int dv, int dh) WHANDLE wh; /* Дескриптор окна. */ Rect r; /* Прокручиваемая область. */ int dv; /* Влево или вправо. */ int dh; /* Вверх или вниз. */ |
Примечания
-
Параметр r описывает область в окне, которая подлежит прокручиванию.
-
Параметр dv задает число пикселей, на которое окно прокручивается влево или вправо. Если значение dv отрицательно, содержимое окна прокручивается влево. Если dv положительно, содержимое окна прокручивается вправо.
-
Параметр dh задает число пикселей, на которое окно прокручивается вверх или вниз. Если значение dh отрицательно, содержимое окна прокручивается вверх. Если dh положительно, содержимое окна прокручивается вниз.
Если оба значения dv и dh равны 0, _WScrollP( ) стирает символы, находящиеся внутри заданного прямоугольника.
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
В следующем примере открывается окно и в нем рисуется прямоугольный узор из букв X. Этот прямоугольник также служит прокручиваемой областью. Сначала _WScrollP( ) прокручивает прямоугольник вверх и влево, а затем - вниз и вправо.
Код Visual FoxPro
![]() | |
---|---|
SET LIBRARY TO WSCROLLP |
Код 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 }; |
Смотрите также
![Footer image](../local/footer.gif)
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.