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