Форум: "Начинающим";
Текущий архив: 2008.03.02;
Скачать: [xml.tar.bz2];
ВнизКак лучше реализовать ввод горячих клавиш? Найти похожие ветки
← →
@!!ex © (2008-01-31 21:12) [0]THotKey не подходит.
Он(например), не понимает такие комбинации как Ctrl+Alt+Space, Ctrl+Alt+Tab, клавишу Win не жует... и так далее.
Пока ничего умнее своего контрола придумать не могу...
← →
Ник (2008-01-31 21:24) [1]Если только в приложение, то MainMenu должно тебя устроить:)
← →
Owa (2008-02-01 00:17) [2]тип того...
public
procedure WMHotkey( var msg: TWMHotkey ); message WM_HOTKEY;
procedure Form.WMHotkey( var msg: TWMHotkey );
begin
if msg.hotkey = 1 then
begin
end;
if msg.hotkey = 2 then
begin
end;
end;
procedure Form.FormCreate(Sender: TObject);
begin
if not RegisterHotkey(Handle, 1, MOD_ALT or MOD_SHIFT, VK_F9) then
ShowMessage("Alt + Shift + F9 reg - failure");
if not RegisterHotkey(Handle, 2, MOD_ALT or MOD_SHIFT, VK_F9) then
ShowMessage("WIN + CONTROL + TAB reg - failure");
end;
procedure Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
UnRegisterHotkey( Handle, 1 );
UnRegisterHotkey( Handle, 2 );
end;
← →
Owa (2008-02-01 00:19) [3]ошибочка =))
**
if not RegisterHotkey(Handle, 2, MOD_ALT or MOD_SHIFT, VK_F9) then
ShowMessage("WIN + CONTROL + TAB reg - failure");
if not RegisterHotkey(Handle, 2, MOD_WIN or VK_CONTROL, VK_TAB) then
ShowMessage("WIN + CONTROL + TAB reg - failure");
← →
@!!ex © (2008-02-01 00:32) [4]и что это?
← →
@!!ex © (2008-02-01 00:33) [5]Atom кстати лучше всеже регистрировать, циферки 1, 2 и т.д. могут привести к неприятным проблемам...
Проблема была не в том, чтобы зарегестрировать и отловить нажатие Хоткея. А в том, чтобы пользователь мог в настройках выбирать для команды нужную комбинацию клавиш.
← →
ASoft (2008-02-01 17:27) [6]
> @!!ex © (31.01.08 21:12)
ТApplicationEvents?
← →
Elec3C © (2008-02-01 18:03) [7]
> @!!ex ©
Я регистровал именно с помощью RegisterHotKey (см. [2]). Всё отлично работает.
← →
Elec3C © (2008-02-01 18:06) [8]
> пользователь мог в настройках выбирать для команды нужную
> комбинацию клавиш
Выберет, сделаешь UnRegisterHotKey, а затем снова RegisterHotKey.
← →
Kolan © (2008-02-01 18:10) [9]> А в том, чтобы пользователь мог в настройках выбирать для
> команды нужную комбинацию клавиш.
Писать наследника и там переделать работу с хот кеями.
> Он(например), не понимает такие комбинации как Ctrl+Alt+Space,
> Ctrl+Alt+Tab
Проверил, все он понимает. Ты прям ркуками туда и вводи «Ctrl+Alt+Tab».
← →
Skyle © (2008-02-04 07:39) [10]
> Kolan © (01.02.08 18:10) [9]
Есть мнение, что он хочет чтобы компонент сам писал в себя то, что пользователь над ним нажал.
← →
@!!ex © (2008-02-04 07:46) [11]> [7] Elec3C © (01.02.08 18:03)
>
> > @!!ex ©
>
> Я регистровал именно с помощью RegisterHotKey (см. [2]).
> Всё отлично работает.
Да при чем тут регистрация горячих клавиш????
> [5] @!!ex © (01.02.08 00:33)
> Atom кстати лучше всеже регистрировать, циферки 1, 2 и т.д.
> могут привести к неприятным проблемам...
> Проблема была не в том, чтобы зарегестрировать и отловить
> нажатие Хоткея. А в том, чтобы пользователь мог в настройках
> выбирать для команды нужную комбинацию клавиш.
> Проверил, все он понимает. Ты прям ркуками туда и вводи
> «Ctrl+Alt+Tab».
Это не удобно.
> [10] Skyle © (04.02.08 07:39)
Да. Сделал через два ComboBox"а. В одном список комбинаций (Ctrl+Alt+Shift, Ctrl+Shift, и т.д.) во втором - набор обычных клавиш.
Вроде удобно.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.03.02;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.042 c