![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение события OnClick у TButton [D7, Win2k]
mix © (2008-01-24 11:36:00)Как изменить событие OnClick у TButton, чтобы оно приходило пока кнопка нажата (как у компонента TUpDown)?
ketmar (2008-01-28 09:33:00) [1]проверяй, у кого фокус. если фокус потеряли — всё, концерт окончен.
mix (2008-01-28 09:25:00) [2]Сделал - работает. Спасибо за ответы!
Но.. Есть одна загвостка..))) Если по кнопке вылетает какое нить окно, допустим с ошибкой, то OnClick благополучно уходит в бесконечный цикл.. Можно конечно поставить try except (обязательно поставлю), но все равно неприятно.
Есть ли решение этой проблемы??
P.S. Попробовал проделать тоже самое с TUpDown, получается какой то бред... Кнопка отжимается во время отображения месседжа, но после этого кликая мышкой в любую область формы происходит событие OnClick TUpDown и приложение закрыть невозможно.
clickmaker (2008-01-24 13:02:00) [3]
> С событием ничего нельзя придумать?
OnClick
while SendMessage(Button1.Handle, BM_GETSTATE, 0, 0) = BST_PUSHED do
begin
...
Application.ProcessMessages;
end;
mix (2008-01-24 12:05:00) [4]Все так. С таймером понял.
С событием ничего нельзя придумать?
{RASkov} (2008-01-24 12:03:00) [5]> [3] KilkennyCat © (24.01.08 11:56)
Как зачем????
Ему же нужно нажать мышой кнопку(TButton) и неотпуская ее генерить событие OnClick....
KilkennyCat (2008-01-24 11:56:00) [6]Таймер-то зачем???
{RASkov} (2008-01-24 11:45:00) [7]> [0] mix (24.01.08 11:36)
Не все так просто.... Именно у TButton ответ см в [1].
Другие пути:
Наследник от TButton'а с внедренным Таймером
или простой способ: Использовать два стандартных компонента, например TButton и TTimer.
Не совсем красиво, но ...На МаусДовн кнопки включаем Таймер, а на МаусАп выключаем...
KilkennyCat (2008-01-24 11:38:00) [8]никак. обрабатывайте другое событие.