Главная страница
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.017 c
1-83607
Zigs
2003-05-14 17:13
2003.05.26
Спецсимволы в TDBEdit (TEdit)


3-83392
yurikon
2003-05-06 09:46
2003.05.26
SELECT, JOIN and GROUP BY


1-83527
$HiC0
2003-05-13 15:15
2003.05.26
Рисование прямо на Bitmapе


11-83428
sandrolich
2002-08-19 11:42
2003.05.26
Рисование KOL


1-83508
Ш-К
2003-05-15 23:36
2003.05.26
Проверка на приведение типов.