Форум: "Начинающим";
Текущий архив: 2008.04.13;
Скачать: [xml.tar.bz2];
ВнизКомпоненты и клавиатура Найти похожие ветки
← →
Hypnotize_X (2008-03-19 20:07) [0]Здравствуйте мастера, доборого времени суток, вопрос следуйщий: как сделать, чтобы VCL компоненты были невоспримчивы к клавиатуре? Т.е. чтобы нельзя было вызвать OnClick у кнопки с помощью нажатия Space или Enter.
← →
Семеныч (2008-03-19 20:18) [1]KeyPreview?
← →
Hypnotize_X (2008-03-19 20:29) [2]А где этого монтра искать?)
← →
{RASkov} © (2008-03-19 20:30) [3]> [2] Hypnotize_X (19.03.08 20:29)
Это свойство у формы.
Выставляешь его в True и в обработчике OnKeyXxxx формы реализуешь задуманное...
← →
Сергей М. © (2008-03-19 20:32) [4]
> где этого монтра искать?
В библиотеке или в книжном магазине.
В кр.случае - в стандартной справке. Но это для особо одаренных)
← →
{RASkov} © (2008-03-19 20:36) [5]> сделать, чтобы VCL компоненты были невоспримчивы к клавиатуре?
> Т.е. чтобы нельзя было вызвать OnClick у кнопки с помощью
> нажатия Space или Enter.
Кстати смотря какие компоненты. В случае с кнопкой, то может есть смысл использования не ВинКонтрол вариант кнопки? TSpeedButton.
← →
Hypnotize_X (2008-03-19 20:43) [6]А что нужно в onKeyPress написать, чтобы ничего не происходило?))))
← →
Hypnotize_X (2008-03-19 20:45) [7]Компонента два: Button и ComboBox, в первом случае нужно чтобы кнопка не нажималась ентером и спейсом, а во втором чтобы айтем не выбирался при нажатии вниз и вверх.
← →
Сергей М. © (2008-03-19 20:46) [8]
> что нужно в onKeyPress написать
Прошение преподу о помиловании
← →
{RASkov} © (2008-03-19 21:31) [9]> [7] Hypnotize_X (19.03.08 20:45)
Так точно.
← →
{RASkov} © (2008-03-19 21:34) [10]> Hypnotize_X
> нужно чтобы кнопка не нажималась ентером и спейсом
См [5] например TSpeedButton;
> во втором чтобы айтем не выбирался при нажатии вниз и вверх.
if Key in [VK_UP, VK_DOWN] and ActiveControl=ComboBox then Key:=Key-Key;
← →
Семеныч (2008-03-19 21:36) [11]> {RASkov} © (19.03.08 21:34) [10]
Этот код не сработает...
:o)
← →
{RASkov} © (2008-03-19 21:57) [12]> [11] Семеныч (19.03.08 21:36)
Тсс...
← →
Hypnotize_X (2008-03-19 22:14) [13]Почините код)) Key не хочет сравниваться с VK_UP и т.д)
← →
Hypnotize_X (2008-03-19 22:20) [14]Этот код кстати даже без проверки на клавишу не работает. Может есть другие варианты?
← →
{RASkov} © (2008-03-19 22:58) [15]> [14] Hypnotize_X (19.03.08 22:20)
Этот "псевдо код" рабочий и не слушай Семеныча, головой подумай чуть-чуть :)
← →
Hypnotize_X (2008-03-19 23:11) [16]С помощью этого кода смог сделать, чтобы не работали кнопки up и down. (OnKeyDown). Но выяснилось, что еще нужно сделать, чтобы на Combobox не работали и остальные кнопки клавиатуры (так как они активируют быстрое выделение строчки на начинающийся на данную кнопку). Как это реализовать?
← →
Семеныч (2008-03-20 10:07) [17]> {RASkov} © (19.03.08 22:58) [15]
Я же говорил, что код не сработает...
:о)
И даже не потому, что это псевдокод, и не потому, что там скобок нет.
А потому что [6].
:о)
> Hypnotize_X (19.03.08 23:11) [16]
> Как это реализовать?
Аналогично.
← →
{RASkov} © (2008-03-20 13:14) [18]> [17] Семеныч (20.03.08 10:07)
> Я же говорил, что код не сработает...
:)
Да просто автор вопроса под гипнозом что ли.... или радиация у него там повышена.... короче думать не хочет совсем :(
:о)
> [16] Hypnotize_X (19.03.08 23:11)
> Как это реализовать?
в кейпрессе:
если наш контрол то Key:=CHR(ORD(Key)-ORD(Key));
Гы..
Только смотри, т.е. читай в справке, какие клавиши поподают в OnKeyDown(UP) и какие в OnKeyPress.... т.е. в одном все не получится....
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.04.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c