![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Совбственно простой вопрос: как реализовать какое-либо действие, пока зажат button не клавиатурой, а мышкой?
|
|
#2
|
||||
|
||||
|
Первое, что пришло в голову
Код:
procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin Button1.Tag:= 1; end; procedure TForm1.Button1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin Button1.Tag:= 0; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if Button1.Tag > 0 then Label1.Caption:= 'Нажат Button1' else Label1.Caption:= 'Button1 не нажат'; end; |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
tigra-nsk (07.02.2014)
| ||
|
#3
|
||||
|
||||
|
OnMouseDown
|
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Alegun (07.02.2014)
| ||
|
#4
|
||||
|
||||
|
Цитата:
|
|
#5
|
|||
|
|||
|
Цитата:
т.е. при нажатом button у меня должна расти переменная, а она, зараза, растет строго на единицу при каждом клике, а хочется, чтобы увеличивалась, пока держу нажатой кнопку. |
|
#6
|
||||
|
||||
|
Ну в этом примере не зря таймер используется, контроллер клавы повторяет посылки нажатий, а с мышки нет. Используйте повтор
З.Ы. В смысле Код:
procedure TForm1.Timer1Timer(Sender: TObject); begin if Button1.Tag > 0 then Inc(Переменная); end; Последний раз редактировалось Alegun, 07.02.2014 в 22:47. |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
tigra-nsk (07.02.2014)
| ||
|
#7
|
|||
|
|||
|
Спасибо огромное, помогло!
|