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 динамически создавать.
Зато будешь неограничен по кол-ву! |
|
|