C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Add Action in Run Time, Добавить Action во время выполнения
Giny
Отправлено: 11.08.2005, 09:16


Ученик-кочегар

Группа: Участник
Сообщений: 23



В терминальной програме есть возможность добавлят команды и соответствующие им гарячие клавиши (наподобие Key Macros в Hyper Terminale). Я реализовал это так: в ActionManager добавил 10 Actions,
обработчик каждого Actiona представляет собой функция с параметром — командой которая посылается в порт,

void __fastcall TFMain::Action1Execute(TObject *Sender)
{
SendStr(HK_Command[1]);
}

во время выполнения при добавлениии команды, Actionу присваивается Hot Key

FMain->Action1->ShortCut=HotKey1->HotKey;

Проблема в том что команд можно ввести только 10.
Можно ли как нибудь добавлять Actions во время выполнения?
Treumer
Отправлено: 11.08.2005, 10:21


Станционный диспетчер

Группа: Участник
Сообщений: 92



QUOTE (Giny @ 11/08/2005, 09:16)
В терминальной програме есть возможность добавлят команды и соответствующие им гарячие клавиши (наподобие Key Macros в Hyper Terminale). Я реализовал это так: в ActionManager добавил 10 Actions,
обработчик каждого Actiona представляет собой функция с параметром — командой которая посылается в порт,

void __fastcall TFMain::Action1Execute(TObject *Sender)
{
SendStr(HK_Command[1]);
}

во время выполнения при добавлениии команды, Actionу присваивается Hot Key

FMain->Action1->ShortCut=HotKey1->HotKey;

Проблема в том что команд можно ввести только 10.
Можно ли как нибудь добавлять Actions во время выполнения?

Думаю, тебе должен помочь метод InsertComponent класса TActionList.
Каждый раз, когда тебе нужен еще один макрос — создаешь динамически объект класса TAction и добавляешь его через InsertComponent в объект класса TActionList.

Естественно, придется и объекты класса THotKey динамически создавать.

Зато будешь неограничен по кол-ву! biggrin.gif

Вернуться в Вопросы программирования в C++Builder