![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Комбинация клавиш на компоненте [D6]
Lakshmy © (2005-03-04 17:07:00)Подскажите, пожалуйста, каким образом можно отследить комбинацию клавиш. Например, Shift + LButton.
Lakshmy (2005-03-04 17:29:00) [1]DesWind, спасибо! Заработало!
olookin (2005-03-04 17:28:00) [2]В коде if (Key=VK_LBUTTON) and (ssLeft in Shift) проверка идет дважды одного и того же. Опечатка значит у Вас, как и у меня ранее...
Действительно, важно, что нажато первым - кнопка мыши или клавиша? Может и в самом деле обрабатывать OnMouseDown?
Lakshmy (2005-03-04 17:27:00) [3]Почему дважды? Я проверяю нажатие левой кнопки (Key=VK_LBUTTON) и одновременное нажатие Shift (ssShift in Shift), я просто ошиблась.
DesWind (2005-03-04 17:27:00) [4]А если попробовать MouseDown?
olookin (2005-03-04 17:25:00) [5][14] Lakshmy © (04.03.05 17:24)
Да, вы правы, чего-то я не того посоветовал...
Lakshmy (2005-03-04 17:24:00) [6]olookin, но работает только на нажатие Shift, а мне нужно одновременное нажатие Shift и левой кнопки мыши
olookin (2005-03-04 17:24:00) [7][12] Lakshmy © (04.03.05 17:22)
В таком случае вы дважды проверяете одно и то же... Вам же надо Shift+LButton?
Lakshmy (2005-03-04 17:22:00) [8]Я пробовала так:
if (Key=VK_LBUTTON) and (ssLeft in Shift) then showmessage('ok');
Но так наверно не бывает...
olookin (2005-03-04 17:22:00) [9]Нет - работает. Надо только в опциях StringGrid отключить goThumbTracking
olookin (2005-03-04 17:21:00) [10]Странно вот что. Вот такой код работает:
if (Key=VK_SHIFT) or ( ssCtrlin Shift) then showmessage('ok');
а такой - нет:
if (Key=VK_SHIFT) or ( ssLeftin Shift) then showmessage('ok');
Lakshmy (2005-03-04 17:19:00) [11]Anatoly Podgoretsky, очень понятно объясняете, спасибо
Anatoly Podgoretsky (2005-03-04 17:18:00) [12]Вниз, нажато
Lakshmy (2005-03-04 17:16:00) [13]А в чем тогда разница OnKeyDown и OnKeyPress?
Lakshmy (2005-03-04 17:15:00) [14]Anatoly Podgoretsky, а у TStringGrid?
Lakshmy (2005-03-04 17:14:00) [15]Есть, конечно, но вот как? Я как только не пробовала. Там еще есть параметр Shift: TShiftState. Я думаю как-то с ним надо мутить. Или нет?
Anatoly Podgoretsky (2005-03-04 17:14:00) [16]olookin © (04.03.05 17:12) [3]
У TComponent вообще нет событий.
olookin (2005-03-04 17:12:00) [17]Если у компонента есть событие OnKeyDown, то можно.
Lakshmy (2005-03-04 17:12:00) [18]Ладно, выражусь точнее. Мне нужно, нажав в StrinGrid комбинацию клавиш Shift + LButton по конкретной строке (ячейке), отследить ее. Так понятнее?
Anatoly Podgoretsky (2005-03-04 17:09:00) [19]На компоненте вообще нет клавиш ни их комбинаций.