Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.13;
Скачать: CL | DM;

Вниз

Компоненты и клавиатура   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.018 c
2-1205907552
Fr1K
2008-03-19 09:19
2008.04.13
DBgr1d Проблемы


15-1204098805
Ega23
2008-02-27 10:53
2008.04.13
GUID - насколько уникален?


2-1205944504
vegarulez
2008-03-19 19:35
2008.04.13
Вопрос про передачу UDP инди 10.


4-1186816191
Игорь_1
2007-08-11 11:09
2008.04.13
Listbox


2-1205562445
aleko
2008-03-15 09:27
2008.04.13
Caption динамического TMenuItem