Главная страница
    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.49 MB
Время: 0.008 c
15-1203995117
Светик
2008-02-26 06:05
2008.04.13
Ошибка CRC


2-1206005117
pvr
2008-03-20 12:25
2008.04.13
Tool Palette


2-1206015131
WildBoolean
2008-03-20 15:12
2008.04.13
TListBox +OnDrawItem


11-1187713261
Dy1
2007-08-21 20:21
2008.04.13
как использовать ExecuteConsoleAppIORedirect ?


2-1205841012
Washington
2008-03-18 14:50
2008.04.13
ADO и DLL





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