_WScrollP( ), API-Bibliotheksroutine
Führt für einen Teil des Fensterinhalts einen Bildlauf nach links oder rechts bzw. nach oben oder unten durch.
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. */
Hinweise
- Der r-Parameter beschreibt den Teil des Fensters, für den ein Bildlauf durchgeführt werden soll.
- Der dv-Parameter**beschreibt die Anzahl der Pixel, um die ein Bildlauf des Fensters nach links oder rechts durchgeführt werden soll. Wenn dv negativ ist, wird ein Bildlauf des Fensterinhalts nach links durchgeführt. Wenn dv positiv ist, wird ein Bildlauf des Fensterinhalts nach rechts durchgeführt.
- Der dh-Parameter beschreibt die Anzahl der Pixel, um die ein Bildlauf des Fensters nach oben oder unten durchgeführt werden soll. Wenn dh negativ ist, wird ein Bildlauf des Fensterinhalts nach oben durchgeführt. Wenn dh positiv ist, wird ein Bildlauf des Fensterinhalts nach unten durchgeführt.
Wenn sowohl dv als auch dh den Wert 0 haben, löscht _WScrollP( ) die Zeichen innerhalb des Rechtecks.
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 geöffnet und ein rechteckiges Muster mit dem Zeichen X ausgegeben. Dieses Rechteck ist gleichzeitig das Bildlaufrechteck. Zuerst wird ein Bildlauf des Rechtecks nach oben und nach links durchgeführt. Anschließend wird ein Bildlauf des Rechtecks nach unten und nach rechts durchgeführt.
Visual FoxPro-Code
SET LIBRARY TO WSCROLLP
C-Code
#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
};
Siehe auch
_WClear( ), API-Bibliotheksroutine | Zugreifen auf die Visual FoxPro-API | _WPosCursor( ), API-Bibliotheksroutine | _WPutChr( ), API-Bibliotheksroutine