Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1205998640
Andrewtitoff
2008-03-20 10:37
2008.04.13
Как правильно подключить обьект или в чем ошибка?...


2-1205907552
Fr1K
2008-03-19 09:19
2008.04.13
DBgr1d Проблемы


15-1204405825
Alex
2008-03-02 00:10
2008.04.13
Как вывести в Edit переменную Integer?


15-1203994796
Slider007
2008-02-26 05:59
2008.04.13
С днем рождения ! 26 февраля 2008 вторник


15-1202564961
Kerk
2008-02-09 16:49
2008.04.13
Проверялка занятости доменов





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