Сдвигает выделенный текст на указанное число позиций табуляции в файле, открытом в заданном окне редактирования.
void _EdIndent(WHANDLE wh, int tabstops) WHANDLE wh; /* Дескриптор окна редактирования. */ int tabstops; /* Число позиций табуляции. */ |
Примечания
В качестве tabstops можно задать отрицательное число, чтобы сделать обратный отступ для выделенного фрагмента.
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
В следующем примере открывается сеанс редактирования для файла, заданного параметром; в строках 13 и 15 файла делается отступ на одну позицию табуляции.
Код Visual FoxPro
![]() | |
---|---|
SET LIBRARY TO EDINDENT = EDINDENT("x") |
Код C
![]() | |
---|---|
#include <pro_ext.h> FAR Example(ParamBlk FAR *parm) { #define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle)) WHANDLE wh; 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_READWRITE); _HUnLock(parm->p[0].val.ev_handle); _EdSelect(wh, _EdGetLinePos(wh, 12), _EdGetLinePos(wh, 14)); _EdIndent(wh, 1); } FoxInfo myFoxInfo[] = { {"EDINDENT", (FPFI) Example, 1, "C"}, }; FoxTable _FoxTable = { (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo }; |