# ViewerSetPosition

Структура `ViewerSetPosition` используется для изменения текущей позиции в файле, открытом в программе просмотра Far Manager.

    struct ViewerSetPosition
    {
      size_t StructSize;
      VIEWER_SETPOS_FLAGS Flags;
      __int64 StartPos;
      __int64 LeftPos;
    };

### Элементы

StructSize
Это поле должно содержать размер структуры `ViewerSetPosition`. Перед использованием структуры плагин должен заполнить поле.
Flags
Флаги, уточняющие процесс изменения позиции. Может быть комбинация из (тип VIEWER_SETPOS_FLAGS):

Флаг | Описание
--- | ---
VSP_NOREDRAW | не перерисовывать экран
VSP_PERCENT | смещение указано не в байтах, а в процентах
VSP_RELATIVE | смещение относительное, а не абсолютное
VSP_NORETNEWPOS | не возвращать реальную позицию (см. `StartPos`)

StartPos
Новая позиция в файле (или в байтах, или в процентах - зависит от `VSP_PERCENT`, может быть отрицательной - если указан флаг `VSP_RELATIVE`). В программе просмотра в общем случае невозможно установить точную позицию в файле, поэтому новая реальная позиция может и не совпадать со `StartPos`. Для того, чтобы узнать, чему же равна новая позиция в файле, её значение записывается в `StartPos` (если не указан флаг `VSP_NORETNEWPOS`). Используйте это свойство для контроля, если хотите.
LeftPos
Позиция левой границы просматриваемого текста в окне программы просмотра.
Смотрите также:
Структуры, ViewerControl,