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.
Stellt sicher, dass der ausgewählte Text im bezeichneten Fenster sichtbar ist.
void _EdScrollToSel(WHANDLE wh, int Center)
WHANDLE wh; /* Handle of editing window. */
int Center; /* Whether to center anchor point in
window. */
Hinweise
Wenn Sie den Anker vertikal im Fenster zentrieren möchten, geben Sie für Center den Wert Wahr an. Wenn Sie den Anker nicht vertikal zentrieren möchten, geben Sie den Wert Falsch an.
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. Im Beispiel wird eine Auswahl in der Nähe des Dateiendes vorgenommen. Nachdem der Benutzer als Reaktion auf den Visual FoxPro-Befehl WAIT eine Taste gedrückt hat, wird durch Aufrufen von _EdScrollToSel( ) ein Bildlauf des Bearbeitungsfensters bis zur Auswahl durchgeführt. Anschließend wird dieser Vorgang im Beispiel für eine Auswahl in der Nähe des Anfangs der Datei wiederholt.
Visual FoxPro-Code
SET LIBRARY TO EDSCTOSE
= TOSEL("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);
_EdScrollToPos(wh, 0, TRUE);
_EdGetEnv(wh, &EdEnv);
_EdSelect(wh, EdEnv.length - 16, EdEnv.length);
_PutStr("\nMade selection at end of file.");
_Execute("WAIT WINDOW 'Press any key to scroll to selection.'");
_EdScrollToSel(wh, TRUE);
_EdSelect(wh, 1, 16);
_PutStr("\nMade selection at beginning of file.");
_Execute("WAIT WINDOW 'Press any key to scroll to selection.'");
_EdScrollToSel(wh, TRUE);
}
FoxInfo myFoxInfo[] = {
{"TOSEL", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_EdGetPos( ), API-Bibliotheksroutine | _EdSelect( ), API-Bibliotheksroutine | _EdSetPos( ), API-Bibliotheksroutine