# Viewer

Функция `Viewer` позволяет открыть внутреннюю программу просмотра Far Manager.

    intptr_t WINAPI Viewer (
      const wchar_t *FileName,
      const wchar_t *Title,
      intptr_t X1,
      intptr_t Y1,
      intptr_t X2,
      intptr_t Y2,
      VIEWER_FLAGS Flags,
      uintptr_t CodePage
    );

### Параметры

FileName
Файл для просмотра.
Title
Текстовая строка, которая будет показана вверху окна вьюера. Если этот параметр равен `NULL`, то используется имя файла.
X1, Y1, X2, Y2
Координаты окна вьюера. Если координата `X2` или `Y2` равна `-1`, то она будет замещена соответственно шириной или высотой экрана. Если координата `X1` или `Y1` меньше нуля, то считается, что она равна нулю.
Flags
Может быть комбинацией следующих значений (тип VIEWER_FLAGS):

Флаг | Описание
--- | ---
VF_DELETEONCLOSE | Far Manager удалит просматриваемый файл после закрытия вьюера. Если в директории, содержащей просматриваемый файл, нет других файлов, она также будет удалена. Если требуется удаление только файла, то используйте `VF_DELETEONLYFILEONCLOSE`. Файл не удаляется, если было произведено переключение по `F6` и если существуют другие открытые вьюеры/редакторы с этим же файлом.
VF_DELETEONLYFILEONCLOSE | Аналог `VF_DELETEONCLOSE`, но удаляется только файл. Этот флаг имеет более низкий приоритет при обработке, чем `VF_DELETEONCLOSE`.
VF_DISABLEHISTORY | Запретить добавление имени файла в историю просмотра (`Alt`+`F11`). По умолчанию имя в историю добавляется.
VF_ENABLE_F6 | Разрешает переключение по `F6` из вьюера в редактор.
VF_IMMEDIATERETURN | Позволяет плагину получать управление сразу же после открытия программы просмотра. Открываемая программа просмотра становится активной. Выставлять этот флаг имеет смысл только в паре с флагом `VF_NONMODAL`.
VF_NONMODAL | Создать немодальное окно вьюера. Если этот флаг присутствует, пользователь сможет переключаться между программой просмотра и другими окнами Far Manager. Плагин получит управление только после закрытия или ухода из открытой программы просмотра (например, пользователь нажал `Ctrl`+`Tab`). Если вам нужно, чтобы плагин получал управление сразу же после открытия программы просмотра, то используйте флаг `VF_IMMEDIATERETURN`.
VF_NONE | Нулевой флаг.

CodePage
Номер кодовой страницы, в которой будет открыт вьюер. Можете установить значение в `CP_DEFAULT`. Помимо этого можно использовать следующие определения.

Определение | Описание
--- | ---
CP_UNICODE | кодовая страница 1200
CP_REVERSEBOM | кодовая страница 1201
CP_DEFAULT | автоматически определить номер кодовой страницы
CP_REDETECT | переопределить номер кодовой страницы

.

### Возвращаемое значение

Если флаг `VF_NONMODAL` отсутствует, эта функция возвращает `TRUE` в случае успеха или `FALSE`, если файл не удалось открыть. Если этот флаг присутствует, то всегда возвращается `TRUE`.
Смотрите также:
Editor