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

Вниз

Комбинация клавиш на компоненте   Найти похожие ветки 

 
Lakshmy ©   (2005-03-04 17:07) [0]

Подскажите, пожалуйста, каким образом можно отследить комбинацию клавиш. Например, Shift + LButton.


 
Anatoly Podgoretsky ©   (2005-03-04 17:09) [1]

На компоненте вообще нет клавиш ни их комбинаций.


 
Lakshmy ©   (2005-03-04 17:12) [2]

Ладно, выражусь точнее. Мне нужно, нажав в StrinGrid комбинацию клавиш Shift + LButton по конкретной строке (ячейке), отследить ее. Так понятнее?


 
olookin ©   (2005-03-04 17:12) [3]

Если у компонента есть событие OnKeyDown, то можно.


 
Anatoly Podgoretsky ©   (2005-03-04 17:14) [4]

olookin ©   (04.03.05 17:12) [3]
У TComponent вообще нет событий.


 
Lakshmy ©   (2005-03-04 17:14) [5]

Есть, конечно, но вот как? Я как только не пробовала. Там еще есть параметр Shift: TShiftState. Я думаю как-то с ним надо мутить. Или нет?


 
Lakshmy ©   (2005-03-04 17:15) [6]

Anatoly Podgoretsky, а у TStringGrid?


 
Lakshmy ©   (2005-03-04 17:16) [7]

А в чем тогда разница OnKeyDown и OnKeyPress?


 
Anatoly Podgoretsky ©   (2005-03-04 17:18) [8]

Вниз, нажато


 
Lakshmy ©   (2005-03-04 17:19) [9]

Anatoly Podgoretsky, очень понятно объясняете, спасибо


 
olookin ©   (2005-03-04 17:21) [10]

Странно вот что. Вот такой код работает:

 if (Key=VK_SHIFT) or (ssCtrl in Shift) then  showmessage("ok");

а такой - нет:

 if (Key=VK_SHIFT) or (ssLeft in Shift) then showmessage("ok");


 
olookin ©   (2005-03-04 17:22) [11]

Нет - работает. Надо только в опциях StringGrid отключить goThumbTracking


 
Lakshmy ©   (2005-03-04 17:22) [12]

Я пробовала так:

if (Key=VK_LBUTTON) and (ssLeft in Shift) then showmessage("ok");

Но так наверно не бывает...


 
olookin ©   (2005-03-04 17:24) [13]

[12] Lakshmy ©   (04.03.05 17:22)

В таком случае вы дважды проверяете одно и то же... Вам же надо Shift+LButton?


 
Lakshmy ©   (2005-03-04 17:24) [14]

olookin, но работает только на нажатие Shift, а мне нужно одновременное нажатие Shift и левой кнопки мыши


 
olookin ©   (2005-03-04 17:25) [15]

[14] Lakshmy ©   (04.03.05 17:24)

Да, вы правы, чего-то я не того посоветовал...


 
DesWind ©   (2005-03-04 17:27) [16]

А если попробовать MouseDown?


 
Lakshmy ©   (2005-03-04 17:27) [17]

Почему дважды? Я проверяю нажатие левой кнопки (Key=VK_LBUTTON) и одновременное нажатие Shift (ssShift in Shift), я просто ошиблась.


 
olookin ©   (2005-03-04 17:28) [18]

В коде if (Key=VK_LBUTTON) and (ssLeft in Shift) проверка идет дважды одного и того же. Опечатка значит у Вас, как и у меня ранее...

Действительно, важно, что нажато первым - кнопка мыши или клавиша? Может и в самом деле обрабатывать OnMouseDown?


 
Lakshmy ©   (2005-03-04 17:29) [19]

DesWind, спасибо! Заработало!



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

Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.036 c
1-1110033485
ПроНыРа
2005-03-05 17:38
2005.03.20
ToolBar


14-1109524986
ve7al
2005-02-27 20:23
2005.03.20
Язык программирования Паскаль


9-1101714129
Вась-Вась
2004-11-29 10:42
2005.03.20
Win API


6-1105980897
Piter
2005-01-17 19:54
2005.03.20
Как можно узнать о разрыве RAS соединения


1-1109788243
alex_shkut
2005-03-02 21:30
2005.03.20
Ошибка при динамическом создании TImageList





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский