Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.26;
Скачать: CL | DM;

Вниз

Горячие клавиши для меню   Найти похожие ветки 

 
Kirill ©   (2002-08-18 11:34) [0]

Посмотрел пример в поставке с Kol.
Там есть такие строки:

MainMenu.ItemAccelerator[ 1 ] := MakeAccelerator( FCONTROL or FVIRTKEY, Word("1") );
MainMenu.ItemAccelerator[ 2 ] := MakeAccelerator( FCONTROL or FVIRTKEY, Word("2") );

А как сделать также, но только для букв. И чтобы Ctrl+N не отличалась от Ctrl+n.
MainMenu.ItemAccelerator[ 1 ] := MakeAccelerator( FCONTROL or FVIRTKEY, Word("n") ); //не работает


 
Gandalf   (2002-08-18 11:47) [1]

Result.MainMenu1.ItemAccelerator[ 2 ] := MakeAccelerator( FVIRTKEY or FCONTROL, $4E );


 
Kirill ©   (2002-08-18 12:03) [2]

Result это форма?


 
Gandalf   (2002-08-18 12:35) [3]

Да.


 
Kirill ©   (2002-08-18 12:53) [4]

Это наверное опять MCK? Почему все так любят MCK? Я пишу в чистом KOL. Мне проще написать в KOL, чем с использованием MCK.
Вопрос открыт.
Кстати, программа на
MainMenu1.ItemAccelerator[ 2 ] := MakeAccelerator( FVIRTKEY or FCONTROL, $4E );
MainMenu1.ItemAccelerator[ 3 ] := MakeAccelerator( FVIRTKEY or FCONTROL, $4D );

выполняет одно и тоже действие "Окрыть", хотя на другом должна выполнять "Сохранить" (во всяком случае так задумано, код обработки меню правилен, если использовать мышь. Проблема в горячих клавишах).


 
Mhorse ©   (2002-08-18 20:24) [5]

Товарищи, пишите как можно проще! Берете событие OnChar формы

case Ord(Key) of
14: {Ctrl+n};
15: {Ctrl+o};
19: {Ctrl+s};
end;

Если вам нужны другие комбинации, то допишите перед end-ом
else ShowMessage(Int2Str(Ord(Key));
и понажимайте на нужные комбинации. В ответ увидите соответствующие им номера - подставляйте их в case.


 
Vladimir Kladov   (2002-08-20 10:21) [6]


> Kirill © (18.08.02 12:53)
> Это наверное опять MCK? Почему все так любят MCK? Я пишу в чистом KOL. Мне проще написать в KOL, чем с использованием MCK.

На MCK не пишут, а тыкают мышкой. MCK сам пишет.

> Вопрос открыт.
> Кстати, программа на
> MainMenu1.ItemAccelerator[ 2 ] := MakeAccelerator( FVIRTKEY or FCONTROL, $4E );
> MainMenu1.ItemAccelerator[ 3 ] := MakeAccelerator( FVIRTKEY or FCONTROL, $4D );
> выполняет одно и тоже действие "Окрыть", хотя на другом должна выполнять "Сохранить" (во всяком случае так задумано, код обработки
> меню правилен, если использовать мышь. Проблема в горячих
> клавишах).

У меня так не получилось.

> Mhorse © (18.08.02 20:24)
> Товарищи, пишите как можно проще! Берете событие OnChar формы


Ну, тогда лучше в OnKeyDown. Там больше возможностей, да и проверять
не особенно нужно.

if GetKeyState( VK_CONTROL ) < 0 then
case Key of
VK_F1: ...
VK_RETURN: ...
VK_SPACE: ...
end;



Страницы: 1 вся ветка

Текущий архив: 2003.05.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
6-83625
Жорик
2003-03-24 11:19
2003.05.26
Indy, D7 & HTTP....


6-83643
$hade
2003-03-25 16:06
2003.05.26
И снова Indy.


3-83419
AlexVitko
2003-05-06 18:25
2003.05.26
ПОИСК В БООЛЬШОЙ БД


1-83520
exo
2003-05-13 15:24
2003.05.26
как сделать button активным постоянно?


14-83739
Hacker.
2003-05-03 08:37
2003.05.26
Извлечение из ресурсов