Сейчас на форуме: bartolomeo, hgdagon (+6 невидимых) |
![]() |
eXeL@B —› Программирование —› Как добавить хот-кеи в программу? |
Посл.ответ | Сообщение |
|
Создано: 21 февраля 2006 06:57 · Личное сообщение · #1 Как я понял, практически все программы написанные на С++ и содержащие горячие клавиши содержат ресурс Accelerators, что позволяет эти горячие клавиши изменять и добавлять новые на нужные функции. А вот проги писаные на паскале и скомпиленые в дельфях кажется не дают такой возможности, или я ошибаюсь? Есть ли способ с этим справиться? ![]() |
|
Создано: 21 февраля 2006 07:12 · Личное сообщение · #2 |
|
Создано: 21 февраля 2006 07:55 · Поправил: sLime · Личное сообщение · #3 mysterio Я бы даже это хот-кеем не назвал, так... просто быстрый доступ к элементу, при нажатии на альт, буква рядом с которой был символ &, становится подчеркнутой. А что если регистр клавы на русский переключен, а меню и кнопки на инглише? Тогда все, это уже не работает, к сожалению это не горячие клавиши. В дельфях это достигается за счет функции RegisterHotkey, но ее-то в ресурс описания формы не впихнешь, дальше я ничего не пойму ![]() ![]() |
|
Создано: 21 февраля 2006 13:54 · Личное сообщение · #4 |
|
Создано: 22 февраля 2006 02:38 · Личное сообщение · #5 Grom PE пишет: А так - я думаю, что установка KeyPreview=True свойства формы и обработка ее OnKeyPress, OnKeyUp помогут. В смысле? OnKeyPress и OnKeyUp как-то могут помочь? Ну допустим событие OnKeyPress можно обработать для нажатия не любой, а определенной клавиши (сочетания клавиш, хотя я точно не знаю). Есть в дельфийских программах ресурс RCData --->TMAINFORM - т.е. описание формы, допустим в проге есть главное меню и в описании элемент меню выглядит как: object SavePageMenuItem: TMenuItem Caption = 'Save page' OnClick = MasterSavePageClick end Как видно при клике мышкой идет вызов MasterSavepageClick, откуда он вызывается и как? В си++ программах рядом с каждым пунктом меню в ресурсах написан соответствующий идентификатор вызываемой ф-ции, напр. 38957. Пишем в ресурсе Accelerators 38957 и назначаем любой (не глобальный) хоткей, теперь наш браузер может сохранять страницу например по CTRL+ALT+NUMPAD2. Как в дельфи-программах так сделать? Кто-нибудь знает? Подскажите пожалуйста. ![]() |
|
Создано: 22 февраля 2006 21:03 · Личное сообщение · #6 |
|
Создано: 23 февраля 2006 23:49 · Личное сообщение · #7 |
|
Создано: 24 февраля 2006 16:30 · Поправил: rep0A · Личное сообщение · #8 sLime На паскале никогда ничего не писал, поэтому пример для него дать не могу. Но на асме это выглядит примерно так(см. аттач) На паскале наверника можно обрабатывать сообщения и вызывать API... Если вдруг понадобится ТУТ http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceui40/html/cerefVirtualKeyCodes.asp список Virtual Key-ев. ![]() |
|
Создано: 24 февраля 2006 16:37 · Личное сообщение · #9 |
|
Создано: 27 февраля 2006 03:37 · Личное сообщение · #10 |
![]() |
eXeL@B —› Программирование —› Как добавить хот-кеи в программу? |
Эта тема закрыта. Ответы больше не принимаются. |