Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2003.05.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "KOL";
Текущий архив: 2003.05.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
4-83799
xShadow
2003-03-28 14:36
2003.05.26
Как с помощью API функций изменять позицию курсора ???


4-83818
bobo
2003-03-25 11:11
2003.05.26
В Rich edit вращением колесика мыши при нажатой левой кнопке можн


3-83393
bss
2003-05-06 14:02
2003.05.26
Сохранение поля типа TDateTime в базе MS Access (ADO)


14-83650
Dimaz-z
2003-05-02 20:48
2003.05.26
Как уменьшить размер оперативной памяти, занимаемый программой?


14-83680
dbDev
2003-05-05 06:27
2003.05.26
Ресурсы.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский