Главная страница
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.041 c
14-83671
Ivan61
2003-05-04 11:44
2003.05.26
Как установить RXLib для D7?????


7-83754
KPV-10k
2003-03-25 21:14
2003.05.26
Как выдвинуть лоток конкретного CD-ROM a без помощи TMediaPlayer


3-83420
Iliasaur
2003-05-07 10:12
2003.05.26
---|Ветка была без названия|---


7-83761
Fedor
2003-03-24 13:03
2003.05.26
Перехват начала печати


14-83695
sapsi
2003-05-05 09:55
2003.05.26
Язык программирования для носителя английского языка