![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отловить нажатия на стрелки, не блокируя их? [D7, XP]
Alex80 © (2014-02-03 07:02:00)Кидаю на форму TActionList, создаю в нём экшены на нажатия стрелок, чтобы их отлавливать. Создают событие OnExecute. Всё нормально отлавливаются стрелки. ... Но в других контролах стрелки перестали работать. Как починить?
brother (2014-02-06 08:56:00) [21]KeyPreview:= True; у формы?
sniknik (2014-02-06 08:02:00) [22]> Ну, так как их включить-то?
убрать то, что их "выключает"... разве не очевидно? или переписывать на низком уровне. или обходится тем, что все таки работает, не смотря на твои заявления.
Alex80 (2014-02-06 06:06:00) [23]Посмотрел, что:
TGLSceneViewer = class(TWinControl)
А у TWinControl есть события OnKeyDown, OnKeyPress, OnKeyUp . Открыл их. Прицепил к ним код.
Но всё равно когда нажимаю на стрелки - OnKeyDown и OnKeyPress не проходит. Ну, так как их включить-то? Мастера?
Alex80 (2014-02-06 06:04:00) [24]Посмотрел, что:
TGLSceneViewer = class(TWinControl)
А у TWinControl есть события OnKeyDown, OnKeyPress, OnKeyUp . Открыл их. Прицепил к ним код.
Но всё равно когда нажимаю на стрелки - OnKeyDown и OnKeyPress не проходит. Ну, так как их включить-то? Мастера?
Inovet (2014-02-05 14:55:00) [25]> [19] Alex80 (05.02.14 13:54)
> Докажите кодом.
Вот так бы сразу и сказал. А то разёл тут философию.
Alex80 (2014-02-05 13:54:00) [26]
> Inovet © (05.02.14 11:35) [17]
> > [15] Alex80 (05.02.14 11:07)> «Телепаты в отпуске.»
> ©Для понимания предложенного выше способности к телепатии
> не требуются.
Докажите кодом.
Плохиш (2014-02-05 12:41:00) [27]
> Alex80 (05.02.14 11:07) [15]
>
>
> > Ты даже не понимаешь ответов, советов.
>
> "Телепаты в отпуске." ©
Так это сугубо твои проблемы.
> Alex80 (04.02.14 08:25) [10]
>
>
> > пусть поставит простой TEdit, в новом проекте
>
> А такие советы вы будете давать создателям Ассассинс Крид.
>
Не знаю кто это-такие, но судя по вопросам их сотрудников, тот ещё детский сад сантехников.
Inovet (2014-02-05 11:35:00) [28]> [15] Alex80 (05.02.14 11:07)
> «Телепаты в отпуске.» ©
Для понимания предложенного выше способности к телепатии не требуются.
Alex80 (2014-02-05 11:31:00) [29]
> brother © (05.02.14 07:43) [13]
> > Это основной компонент программы.не программы, а игрового
> движка...
Программа не является игровым движком. GLScene используется для отображения 3D-графики.
Alex80 (2014-02-05 11:07:00) [30]
> Ты даже не понимаешь ответов, советов.
"Телепаты в отпуске." ©
Inovet (2014-02-05 07:44:00) [31]> [12] Alex80 (05.02.14 07:38)
> GLScene не является «лишним» компонентом.
Ты даже не понимаешь ответов, советов.
brother (2014-02-05 07:43:00) [32]> Это основной компонент программы.
не программы, а игрового движка...
Alex80 (2014-02-05 07:38:00) [33]
> осмотреть на другой (лишний, неправильный???, классический)
> компонент
GLScene не является "лишним" компонентом. Это основной компонент программы.
sniknik (2014-02-04 09:55:00) [34]совет для определение проблемы, посмотреть на другой (лишний, неправильный???, классический) компонент и сделать пару лишних действий вызывает отторжение? тогда другой совет - займись чем нибудь другим. думаю больше тебе понравится. нафига тебе это программирование?
Alex80 (2014-02-04 08:25:00) [35]
> пусть поставит простой TEdit, в новом проекте
А такие советы вы будете давать создателям Ассассинс Крид.
Пусть вместо нормального решения Теедиты ставят.
sniknik (2014-02-04 08:16:00) [36]> Неужели я первый кто с этим д*** сталкиваюсь?
ну, так, редко находятся индивиды желающие "на моторной лодке по красной площади"... большинство понимают, что значит предназначение используемого средства.
> Неужели нет какого-нибудь давно найденного решения или компонента?
решение как раз не в поиске новых, а в "убрании" лишних компонентов, раз не подходит как они работают. или поменять логику программы на ту под которую они предназначены.
>ставит GLScene ... то у него нет событий OnKeyPress, OnKeyDown, OnKeyUp.
?
вот прям таки всех перечисленных? пусть поставит простой TEdit, в новом проекте, и проверит еще раз все эти события. а то может проблема и не в акциях вовсе.
Alex80 (2014-02-04 02:32:00) [37]Например, человек ставит GLScene. Когда фокус находится на TGLSceneViewer, то у него нет событий OnKeyPress, OnKeyDown, OnKeyUp.
Inovet (2014-02-04 01:58:00) [38]> [6] Alex80 (04.02.14 01:44)
> Неужели я первый кто с этим д*** сталкиваюсь?
Видимо, никто так не делает, а если делает, так не нужны они в «других контролах».
Alex80 (2014-02-04 01:44:00) [39]Ещё проблема. Нужно, чтобы приходили повторения нажатия на стрелки, когда держишь их слишком долго.
Неужели я первый кто с этим д*** сталкиваюсь? Неужели нет какого-нибудь давно найденного решения или компонента?
Alex80 (2014-02-04 01:09:00) [40]
> Dimka Maslov © (03.02.14 11:25) [1]
> Если копнуть поглубже в механизм передачи клавиатурного
> ввода от операционной системы в активное окно, то мы увидим
> замечательную картину: система сначала посылает окну сообщение
> WM_GETDLGCODE, дабы узнать, хочет ли окно само отбрабатывать
> стрелки, табы и прочий управляющий ввод, либо же передавать
> фокус в другое окно.
А как это использовать чтобы отловить стрелки, но не заблокировать их?