Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
int _EdPosInView(WHANDLE wh, EDPOS thePos)
WHANDLE wh; /* Handle of editing window. */
EDPOS thePos; /* Offset position. */
Hinweise
_EdPosInView( ) gibt Wahr (eine ganze Zahl ungleich 0) zurück, wenn die Versatzposition in der Datei im angegebenen Bearbeitungsfenster sichtbar ist. Andernfalls wird Falsch (0) zurückgegeben.
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 eine durch einen Parameter angegebene Datei zum Bearbeiten geöffnet. Nachdem ein Bildlauf zum Anfang der Datei durchgeführt wurde, wird im Beispiel _EdPosInView( ) aufgerufen, um zu überprüfen, ob der Anfang und das Ende der Datei sichtbar sind. Die Ergebnisse werden auf dem Bildschirm ausgegeben. Anschließend wird im Beispiel ein Bildlauf zum Ende der Datei durchgeführt. _EdPosInView( ) wird erneut aufgerufen, um zu überprüfen, ob der Anfang und das Ende der Datei sichtbar sind.
Visual FoxPro-Code
SET LIBRARY TO EDPOSINV
= POSINVIEW("x")
C-Code
#include <pro_ext.h>
void putLong(long n)
{
Value val;
val.ev_type = 'I';
val.ev_long = n;
val.ev_width = 10;
_PutValue(&val);
}
FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))
WHANDLE wh;
EDENV EdEnv;
if (!_SetHandSize(parm->p[0].val.ev_handle,
parm->p[0].val.ev_length+1))
{
_Error(182); // "Insufficient memory"
}
pFILENAME[parm->p[0].val.ev_length] = '\0';
_HLock(parm->p[0].val.ev_handle);
wh = _EdOpenFile(pFILENAME, FO_READONLY);
_HUnLock(parm->p[0].val.ev_handle);
_EdGetEnv(wh, &EdEnv);
_EdScrollToPos(wh, 0, FALSE);
_PutStr("\n_EdScrollToPos(wh, 0)");
_PutStr("\n_EdPosInView(wh, 0) =");
putLong(_EdPosInView(wh, 0));
_PutStr("\n_EdPosInView(wh, EdEnv.length) =");
putLong(_EdPosInView(wh, EdEnv.length));
_EdScrollToPos(wh, EdEnv.length, FALSE);
_PutStr("\n_EdScrollToPos(wh, EdEnv.length)");
_PutStr("\n_EdPosInView(wh, 0) =");
putLong(_EdPosInView(wh, 0));
_PutStr("\n_EdPosInView(wh, EdEnv.length) =");
putLong(_EdPosInView(wh, EdEnv.length));
}
FoxInfo myFoxInfo[] = {
{"POSINVIEW", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_EdGetPos( ), API-Bibliotheksroutine | _EdGetPos( ), API-Bibliotheksroutine | _EdSetPos( ), API-Bibliotheksroutine | Zugreifen auf die Visual FoxPro-API