AdvControl
Функция
AdvControl
позволяет запрашивать различную информацию и выполнять управляющие действия. Она работает везде: в панелях/редакторе/вьюере.
intptr_t WINAPI AdvControl( const GUID *PluginId, enum ADVANCED_CONTROL_COMMANDS Command, intptr_t Param1, void *Param2 );
Параметры
PluginId
Указатель на GUID плагина (для вашего плагина, GUID должен быть таким же, что и в поле
GlobalInfo.Guid
функции GetGlobalInfoW).Command
Тип команды. Может быть следующим (перечисление ADVANCED_CONTROL_COMMANDS):
Команда | Описание | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ACTL_COMMIT | "Фиксирует" действие последней операции с окнами (например, после ACTL_SETCURRENTWINDOW ).Param1 не используется.Param2 не используется.Функция возвращает TRUE в случае успеха и FALSE при неудаче. | ||||||||||||
ACTL_GETARRAYCOLOR | Получить все цвета Far Manager.Param1 размер буфера, в элементах FarColor.Param2 указатель на буфер плагина, в который будут скопированы текущие цветовые атрибуты.Param2 = NULL позволяет узнать количество элементов в массиве цветов для копирования.Функция всегда возвращает количество элементов в массиве цветов. | ||||||||||||
ACTL_GETCOLOR | Получить цвет Far Manager по индексу.Param1 одна из констант COL_*, описанных в farcolor.hpp Param2 указывает на переменную типа FarColor, в которую будет помещен соответствующий индексу код цвета.Функция возвращает TRUE , если удалось получить указанные цветовые атрибуты. | ||||||||||||
ACTL_GETCURSORPOS | Получить информацию о положении курсора относительно окна Far Manager.Param1 не используется.Param2 указатель на структуру COORD.Функция возвращает TRUE , если положение курсора удалось получить, иначе - FALSE . | ||||||||||||
ACTL_GETFARHWND | Возвращает HWND текущего окна Far Manager.Param1 не используется.Param2 не используется. | ||||||||||||
ACTL_GETFARRECT | Получить информацию о координатах окна Far Manager в консольном буфере.Param1 не используется.Param2 указатель на структуру SMALL_RECT.Функция возвращает TRUE , если координаты окна Far Manager удалось получить, иначе - FALSE . | ||||||||||||
ACTL_GETFARMANAGERVERSION | Узнать версию Far Manager.Param1 не используется.Param2 указывает на переменную типа VersionInfo, в которую будет помещена информация о версии Far Manager.Функция всегда возвращает TRUE . | ||||||||||||
ACTL_GETWINDOWCOUNT | Возвращает число открытых окон в Far Manager.Param1 не используется.Param2 не используется.Минимальное число окон равно 1 (при запуске Far Manager: в обычном режиме - файловые панели; с ключами -e или -v - редактор или программа просмотра, соответственно). | ||||||||||||
ACTL_GETWINDOWINFO | Получить информацию о конкретном окне Far Manager.Param1 не используется.Param2 указатель на структуру WindowInfo.Функция возвращает TRUE , если окно с номером WindowInfo.Pos существует и
FALSE - такого окна нет (поля структуры WindowInfo не заполняются).WindowInfo.Pos надо инициализировать перед вызовом функции.Память под WindowInfo.TypeName и WindowInfo.Name плагин должен выделить самостоятельно,
требуемые размеры можно получить передав NULL в качестве WindowInfo.TypeName и WindowInfo.Name . | ||||||||||||
ACTL_GETWINDOWTYPE | Получить информацию о типе окна Far Manager.Param1 не используется.Param2 указатель на структуру WindowType.Функция возвращает TRUE , если удалось определить тип окна.В отличие от ACTL_GETWINDOWINFO эту команду можно вызывать из любых тредов. | ||||||||||||
ACTL_QUIT | Завершение работы Far Manager.Param1 не используется.Param2 не используется. | ||||||||||||
ACTL_REDRAWALL | Перерисовка всех окон Far Manager.Param1 не используется.Param2 не используется. | ||||||||||||
ACTL_SETARRAYCOLOR | Изменить заданный диапазон цветовой схемы Far Manager.Param1 не используется.Param2 указатель на структуру FarSetColors.Функция возвращает TRUE при успешной замене заданного диапазона цветовой схемы и
FALSE для неверно заданных параметров в структуре FarSetColors. | ||||||||||||
ACTL_SETCURRENTWINDOW | Позволяет переключиться в конкретное окно Far Manager.Param1 число, задающее номер активного окна (нумерация начинается с 0 ).Param2 не используется.Функция возвращает TRUE , если переключение состоялось и FALSE при неудаче (не существует требуемого окна).Внимание!
| ||||||||||||
ACTL_SETCURSORPOS | Устанавливает положение курсора относительно окна Far Manager.Param1 не используется.Param2 указатель на заполненную структуру COORD.Функция возвращает TRUE , если положение курсора удалось изменить, иначе - FALSE . | ||||||||||||
ACTL_SETPROGRESSSTATE | Устанавливает тип и состояние индикатора прогресса на кнопке Far Manager в панели задач.Param1 может принимать одно из следующих значений (перечисление TASKBARPROGRESSTATE ):
Param2 не используется.Функция возвращает TRUE .
Внимание!
| ||||||||||||
ACTL_SETPROGRESSVALUE | Отображает и корректирует прогресс операции на кнопке Far Manager в панели задач.Param1 не используется.Param2 указатель на структуру ProgressValue.Функция возвращает TRUE .
Внимание!
| ||||||||||||
ACTL_PROGRESSNOTIFY | Far Manager выполняет стандартное оповещение о завершении операции
(при неактивном окне приложения кратковременное мерцание кнопкой Far Manager в панели задач и последующая подсветка её до получения окном фокуса).Param1 не используется.Param2 не используется.Функция возвращает TRUE . | ||||||||||||
ACTL_SYNCHRO | Позволяет потоку, запущенному плагином, выполнить код в контексте главного потока Far Manager посредством вызова функции ProcessSynchroEventW.Param1 не используется.Param2 указатель на данные, передающиеся в функцию ProcessSynchroEventW , может быть NULL .Функция всегда возвращает 0 .Внимание!
| ||||||||||||
ACTL_WAITKEY | Ожидать клавишу.Param1 не используется.Param2 = NULL - ждём любую клавишу.Param2 указатель на заполненную структуру INPUT_RECORD (код клавиши) - ждём конкретную клавишу.Функция всегда возвращает 0 . |
Param1
Указывает на параметры1 команды. Смотрите описание
Command
.Param2
Указывает на параметры2 команды. Смотрите описание
Command
.Возвращаемое значение
Смотрите описание
Command
.
Смотрите также: