AdvControl

Функция AdvControl позволяет запрашивать различную информацию и выполнять управляющие действия. Она работает везде: в панелях/редакторе/вьюере.
INT_PTR WINAPI AdvControl(
  int ModuleNumber,
  int Command,
  void *Param
);

Параметры

ModuleNumber
Номер плагина. Его вы получаете в функции SetStartupInfo.
Command
Тип команды. Может быть следующим (перечисление ADVANCED_CONTROL_COMMANDS):
КомандаОписание
ACTL_COMMIT "Фиксирует" действие последней операции с окнами (например, после ACTL_SETCURRENTWINDOW).
Param = 0 (не используется)
Функция возвращает TRUE в случае успеха и FALSE при неудаче.
ACTL_CONSOLEMODE Программное переключение "FullScreen <-> Windowed".
Param может принимать одно из следующих значений:
КонстантаОписание
FAR_CONSOLE_GET_MODE получить текущее состояние
FAR_CONSOLE_SET_FULLSCREEN полноэкранный режим
FAR_CONSOLE_SET_WINDOWED оконный режим
FAR_CONSOLE_TRIGGER переключить состояние
Возвращается текущее значение режима - одна из констант:
КонстантаОписание
FAR_CONSOLE_WINDOWED оконный режим
FAR_CONSOLE_FULLSCREEN полноэкранный режим
ACTL_EJECTMEDIA Извлечь диск из съемного накопителя (CD-ROM/USB/SUBST).
Param - указатель на структуру ActlEjectMedia
Функция возвращает TRUE - успешное извлечение, FALSE - ошибка.
ACTL_KEYMACRO Выполнить операции по работе с макрокомандами.
Param - указатель на структуру ActlKeyMacro
Функция возвращает TRUE - успешное выполнение, FALSE - ошибка ("в данный момент идет запись макроса" или "нехватка памяти" или "макрос выполняется").
ACTL_GETARRAYCOLOR Получить все цвета FAR Manager.
Param = указатель на байтовый массив, в который будут скопированы текущие цветовые атрибуты. Один байт на один цветовой атрибут. Старшие 4 бита - цвет фона, младшие 4 бита - цвет символа.
Param = NULL позволяет узнать требуемый размер массива.
Функция всегда возвращает необходимый размер массива в байтах.
ACTL_GETCOLOR Получить цвет FAR Manager по индексу.
Param = одна из констант COL_*, описанных в farcolor.hpp
Функция возвращает атрибут, соответствующий переданному индексу или -1, если индекс указан неверно.
ACTL_GETFARVERSION Узнать версию FAR.
Param указывает на переменную типа DWORD в которую будет помещена информация о версии FAR Manager.
Формат версии:
HIWORD:         = номер билда   (FAR 1.70.387 = 0x0183)
LOWORD:  HIBYTE = major version (FAR 1.70.387 = 0x01)
         LOBYTE = minor version (FAR 1.70.387 = 0x46)
Параметр Param может быть равным NULL.
Функция возвращает информацию о версии FAR Manager.
ACTL_GETFARHWND Возвращает HWND текущего окна FAR Manager.
Param = 0 (не используется)
ACTL_GETCONFIRMATIONS Получить информацию о настройках подтверждений. Возвращается DWORD с выставленными флагами FarConfirmationsSettings (соответствует настройкам диалога "Подтверждения").
Param = 0 (не используется)
ACTL_GETDESCSETTINGS Получить информацию о настройках описаний файлов. Возвращается DWORD с выставленными флагами FarDescriptionSettings (соответствует настройкам диалога "Описания файлов").
Param = 0 (не используется)
ACTL_GETDIALOGSETTINGS Получить информацию о настройках диалогов. Возвращается DWORD с выставленными флагами FarDialogSettings (соответствует настройкам диалога "Настройки диалогов").
Param = 0 (не используется)
ACTL_GETINTERFACESETTINGS Получить информацию о настройках интерфейса. Возвращается DWORD с выставленными флагами FarInterfaceSettings (соответствует настройкам диалога "Настройки интерфейса").
Param = 0 (не используется)
ACTL_GETPANELSETTINGS Получить информацию о настройках панелей. Возвращается DWORD с выставленными флагами FarPanelSettings (соответствует настройкам диалога "Настройки панели").
Param = 0 (не используется)
ACTL_GETPLUGINMAXREADDATA Возвращает максимальный размер данных (DWORD), который FAR может считывать из файла перед передачей управления плагину в функцию OpenFilePlugin. Это значение может быть любым в диапазоне от 4K до 512K.
Param = 0 (не используется)
ACTL_GETSYSTEMSETTINGS Получить информацию о системных настройках. Возвращается DWORD с выставленными флагами FarSystemSettings (соответствует настройкам диалога "Системные параметры").
Param = 0 (не используется)
ACTL_GETSYSWORDDIV Получить строку с символами-разделителями, делящими текст на слова.
Param = указатель на строку-приемник, куда будут скопированы символы-разделители.
Param = NULL - узнать длину строки (без символа конца строки '\0')
Функция возвращает длину переданной строки. Максимальная длина строки - 260 байт (с символом конца строки '\0').
ACTL_GETWCHARMODE Возвращает режим работы консоли FAR manager.
Param = 0 (не используется).
Функция возвращает TRUE, если FAR работает с консолью в Unicode-режиме и FALSE, если в 8-битном режиме.
ACTL_GETWINDOWCOUNT Возвращает число открытых окон в FAR Manager.
Param = 0 (не используется).
Минимальное число окон = 1 (при запуске FAR: в обычном режиме - файловые панели; с ключами -e или -v - редактор или программа просмотра, соответственно).
ACTL_GETWINDOWINFO Получить информацию о конкретном окне FAR Manager.
Param - указатель на структуру WindowInfo.
Функция возвращает TRUE, если окно с номером WindowInfo.Pos существует и FALSE - такого окна нет (поля структуры WindowInfo не заполняются). WindowInfo.Pos надо инициализировать перед вызовом функции.
ACTL_GETSHORTWINDOWINFO Получить информацию о конкретном окне FAR Manager.
Param - указатель на структуру WindowInfo.
Функция возвращает TRUE, если окно с номером WindowInfo.Pos существует и FALSE - такого окна нет (поля структуры WindowInfo не заполняются). WindowInfo.Pos надо инициализировать перед вызовом функции.
В отличии от ACTL_GETWINDOWINFO поля WindowInfo.TypeName и WindowInfo.Name не заполняются и поэтому эту команду можно вызывать из любых тредов.
ACTL_POSTKEYSEQUENCE Передать в FAR последовательность внутренних кодов клавиш.
Param - указатель на структуру KeySequence
Функция возвращает TRUE - клавиши успешно помещены в очередь, FALSE - ошибка.
Последовательность переданных клавиш начнет исполняться тогда, когда FAR получит управление.
ACTL_REDRAWALL Перерисовка всех окон FAR.
Param = 0 (не используется)
ACTL_SETARRAYCOLOR Изменить заданный диапазон цветовой схемы FAR Manager.
Param = указатель на структуру FarSetColors. Функция возвращает TRUE при успешной замене заданного диапазона цветовой схемы и FALSE для неверно заданных параметров в структуре FarSetColors.
ACTL_SETCURRENTWINDOW Позволяет переключиться в конкретное окно FAR Manager Param - целое число типа int, задающее номер активного окна (нумерация начинается с 0).
Функция возвращает TRUE, если переключение состоялось и FALSE при неудаче (не существует требуемого окна).

Замечание для ACTL_COMMIT Внимание!

  • Переключение не произойдет до тех пор, пока не будет вызван ACTL_COMMIT или пока FAR не получит управление.
ACTL_WAITKEY Ожидать клавишу.
Param = -1 или NULL - ждем любую клавишу
Param = (внутренний код клавиши) - ждем конкретную клавишу.
Функция всегда возвращает 0.
Param
Указывает на параметры команды. Смотрите описание Command

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

Смотрите описание Command
Смотрите также:
Control, EditorControl