ViewerControl

Функция ViewerControl позволяет запрашивать различную информацию о встроенной программе просмотра Far Manager и управлять её состоянием.
intptr_t WINAPI ViewerControl(
  intptr_t ViewerID,
  enum VIEWER_CONTROL_COMMANDS Command,
  intptr_t Param1,
  void *Param2
);

Параметры

ViewerID
Идентификатор экземпляра вьюера (текущий вьюер: -1). Каждый экземпляр встроенной программы просмотра имеет уникальный идентификатор, который не повторяется в текущей сессии Far Manager.
Command
Тип команды. Может быть одним из следующих (перечисление VIEWER_CONTROL_COMMANDS):
КомандаОписание
VCTL_GETINFO Получить информацию о программе просмотра.
Param1 не используется.
Param2 указывает на структуру ViewerInfo.
Всегда возвращается TRUE.
VCTL_QUIT Закрыть программу просмотра.
Param1 и Param2 должны быть NULL.
Всегда возвращается TRUE.
VCTL_REDRAW Перерисовать окно программы просмотра.
Param1 и Param2 должны быть NULL.
В случае успеха возвращается TRUE.
VCTL_SETKEYBAR Функция, позволяющая управлять поведением строки функциональных клавиш в программе просмотра.
Param1 не используется.
Param2 = NULL - восстановить предыдущее значение
Param2 = -1 - обновить полосу (перерисовать)
Param2 равен указателю на структуру FarSetKeyBarTitles, новое значение.
В случае успеха возвращается TRUE.
VCTL_SELECT Управление выделением.
Param1 не используется.
Param2 указывает на структуру ViewerSelect. Если Param2 = NULL, произойдёт сброс выделения.
В случае успеха возвращается TRUE.
VCTL_SETMODE Изменить режим работы программы просмотра.
Param1 не используется.
Param2 указывает на структуру ViewerSetMode.
В случае успеха возвращается TRUE.
VCTL_SETPOSITION Установить позицию в файле.
Param1 не используется.
Param2 указывает на структуру ViewerSetPosition.
В случае успеха возвращается TRUE.
VCTL_GETFILENAME Получить имя открытого во вьюере файла.
Param1 - размер буфера в символах, который выделил плагин для данных.
Param2 указывает на буфер, выделенный плагином, куда будет помещено имя файла.
Функция возвращает требуемый размер буфера в символах, с учетом завершающего нуля.
Если Param2 = NULL или Param1 меньше требуемого размера, функция просто вернет необходимый размер буфера.
Param1
Указывает на параметры1 команды. Смотрите описание Command.
Param2
Указывает на параметры2 команды. Смотрите описание Command.

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

Смотрите описание конкретной команды.

Примечание

VCTL_QUIT в информационной панели и панели быстрого просмотра не приводит к закрытию программы просмотра.
Смотрите также:
Сервисные функции, ViewerInfo, ViewerSetPosition, ViewerSelect