Главная страница
    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.049 c
14-1109784234
lokid7
2005-03-02 20:23
2005.03.20
IP в локальной сети и доступ по нему к инету


9-1103731874
Макс
2004-12-22 19:11
2005.03.20
Текстуры


1-1109882200
Еще_Новичек
2005-03-03 23:36
2005.03.20
Помогите с программой


14-1109514597
Qwatrbe4
2005-02-27 17:29
2005.03.20
Домен+хостинг


3-1108790471
DelphiN!
2005-02-19 08:21
2005.03.20
Как работать с SQL не "визуально" ?





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