![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
На форме две кнопки Button.Ввожу обработчик на форме OnKeyDown -
if Key=VK_Up(любая "стрелка") then .... далее соответствующая процедура. После RUN - срабатывает не код процедуры OnKeyDown , а меняется фокус на кнопках.Почему? Если кнопки удалить - процедура выполняется. |
|
#2
|
||||
|
||||
|
Такова особенность реализации класса TWinControl, на котором основан TButton
Код:
TButton = class(TButtonControl) TButtonControl = class(TWinControl) Можно решить проблему, сделав наследника от TWinControl, где переопределить эти методы, и дальше переопределять TButtonControl и TButton, чтобы они создавались на основе нового класса... Вот компонент - тот же TButton, только не меняющий фокус при нажатии стрелок |