![]() |
|
|
![]()
|
|
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Всем доброго времени суток! Вот собственно возник такой вопросик... я хочу написать программу так чтобы пользователь мог изменять горячие клавиши во время программы. Как поменять на конкретную клавишу я знаю... а вот как сделать чтобы пользователь сам мог выбрать что его душе угодно? Например есть окошко Едит. Он нажал контрол + О и в окошке вывелось Ctr + O и оно сразу зарегистрировало клавишу... вопросик в том как? =) Как мне узнать что щас ввел юзер? И как я смогу узнать мол... что он щас зажал Контрол и О ? Были идеи с перебором ... мол записать все коды клавиш в скажем AnsiString s[20] а потом сделать перебор... через цыкл фор... ребята я на правильном пути? Заранее очень благодарен!
|
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 25 Всего: 372 |
Kirgston, может тебе лучше THotKey использовать?
|
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Блин
|
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 25 Всего: 372 |
Да хотя бы вот:
http://articles.org.ru/cn/showdetail.php?cid=7059 И вообще гугл. Можно найти. Да и в справке ж все есть. И исходников у THotKey не много... Можно посмотреть |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Что то я очень сильно туплю... извините но...
это я написал в Он Чендж Хоткея... Ну и само собой... unsigned short key1; TShiftState st; Также на форме у меня висит ApplicationEvents там в Месаджах есть обработчик. Мол что надо делать когда нажали... Вроде разницы то нету на сколько я понимаю. Делать через void __fastcall wm_hotkey(TWMHotKey&); Или АпликейшенЭвентс. Т.к. регистрация кнопок идет одна... значит и вызов тот же =) Но вот ... при нажатии ничего... тоисть вообще ничего... никакой реакции... также я бы хотел осуществить "запоминание" данных кнопок... но я не знаю как я могу (в каком как бы классе отобразить... интежер или стринг...) отобразить TShiftState ... также я не знаю как можно отобразить ееее данную зарегистрированную кнопку в как бы текст окна ХотКея... просто у меня какая то не совместимость Борланда с виндой... ну он просто не отображает все возможности... то есть подсказки... в ХотКее он отображает всего 3 вида... Align , AutoSize, Anchors ... а бывает такое что вообще ничего не видно... |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 25 Всего: 372 |
||||
|
||||
| Djinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 18.5.2007 Репутация: нет Всего: 1 |
http://forum.vingrad.ru/index.php?showtopi...t&p=1612976 тема подобная и пример программы по работе с Thotkey
|
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Вот сделал...ну обявлено как unsigned short так требует ShortCutToKey я так и сделал =)
Нет я не присваивал. Читал в книге мол это за меня делает компилятор в честь того что мол может быть мусор и потому если ничего не задать то компилятор присвоит переменной 0 Присоединённый файл ( Кол-во скачиваний: 4 )
HotKeys.rar 17,56 Kb |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 25 Всего: 372 |
Kirgston, посмотри пример по ссылке которую дал Djinn. Ты не правильно обрабатываешь сообщение. Точнее ты объявляешь просто функцию. Она ничего не ловит.
Локальные переменные нулем никто не инициализирует, это придется делать тебе |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Извините ребята просто страничка ... криво обновляется... бывает такое что посты просто не вижу =)
уже разобрался и добил.... =) остается вопрос =) а нету там ничего на подобии текста окна? Просто я если ставлю разрешение на все модификаторы то оно мне выдает такое.... уууу Ctr+Shift+Alt + key а когда я снимаю это оно уже перестает работать... |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 25 Всего: 372 |
Kirgston, ничего не понял... но попробую угадать...
Кстати, что разрегистрировать будешь при первом нажатии на кнопку? |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Ладненько щас буду пробовать исправить ;) а разрегистрировать надо ;) ибо может быть ошибка когда я зарегистрирую кнопку а она уже там была до этого. Потому в целях безопасности лучше удалить старую кнопку и поставить новую =)
|
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Ребята большое спасибо =) а есть какая нибудь возможность сохранения кнопок? Чтобы я например перезашел в программу и параметры и кнопки остались? Пробовал с реестром... что то не выходит...
|
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 25 Всего: 372 |
Это то понятно, что разрегистрировать надо. Но что при первом нажатии на конопку будет, когда еще ничекго не зарегистрировано? Kirgston, почему с реестром ничего не вышло? Можно сделать флаг по типу mod1, только or'ом добавлять туда еще последнюю кнопку(с буквой которая) и писать все это как REG_DWORD. |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Ну... что это за программа в которой надо во время работы регистрировать кнопки =) само собой что они с самого старта регистрируются =) так что там проблем нету ;)
Дело в том... что возникло 2 проблемы 1) это в том что я не знаю как записывать переменную TShiftState ... как Строка или как число... ну да ладно это можно и "угадать" хотя предполагаю что лучше будет писать\читать как строку. 2) дело в том что я не знаю как отобразить сие чудо. То есть я не знаю как сделать так чтобы при чтении из реестра программно изменять по получены данным HotKey1->HotKey . Извините что столько тупых вопросов ставлю... просто у меня С++ не совместим с виндой... при работе я не вижу "помощи" при скажем набирании Form1-> . У меня ничего не всплывает, а если появится что то то там будет 1-2 функции. И иследовать С++ я не могу :( и чтобы что то сделать мне просто надо знать конкретно что надо писать :( |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |