Форум: "Основная";
Текущий архив: 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