![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как циклично выполнять процедуру при нажатой кнопке?
AlxAY © (2012-01-15 10:08:00)Хочу при нажатии на Button выполнять прокрутку изображения до того момента пока не отпущу её. Как это можно сделать?
sniknik (2012-01-15 12:12:00) [1]> делать нужно как
ну или с TSpeedButton там клик вполне попеделенно вызывается в отпускании мыши, и есть нажатие... т.е. переопределить их и все. проще чем свою "рисовать".
sniknik (2012-01-15 12:10:00) [2]> который по событию запускается/возобновляется, по другому событию - приостанавливается.
> Сомнение по
нажатие (клик) кнопки у "батонов" одно.
делать нужно как
Anatoly Podgoretsky © (15.01.12 11:29) [6]
там своя "кнопка".
bumbum (2012-01-15 12:02:00) [3]
> Dimka Maslov © (15.01.12 11:47) [7]
Аха!!! любитель +100500
Dimka Maslov (2012-01-15 11:47:00) [4]Если вообще делать по уму, процесс "обработки изображения" надо выносить в отдельный поток, который по событию запускается/возобновляется, по другому событию - приостанавливается. Сомнение по кол-ву процедур - лишнее. Их может быть и 100500. Но меня тревожат смутные опасения за саму обработку изображения...
Anatoly Podgoretsky (2012-01-15 11:29:00) [5]> AlxAY (15.01.2012 10:08:00) [0]
Пример SpinEdit
bumbum (2012-01-15 11:14:00) [6]
> procedure TForm1.Button3Click(Sender: TObject); begin
это сработает только тогда когда кнопка будет нажата потом отжата
Dimka Maslov (2012-01-15 11:03:00) [7]По таймеру с отслеживанием GetAsyncKeyState
AlxAY (2012-01-15 10:55:00) [8]А с помощью While никак это реализовать нельзя? 33 процедуры - тут нажата, тут отжата.... Может есть какие-нибудь "индикаторы состояния"?
procedure TForm1.Button3Click(Sender: TObject);
begin
While Button=нажата do
begin
ProcedureUP;
end;
end;
bumbum (2012-01-15 10:32:00) [9]
> procedure TForm1.Button1MouseMove(Sender: TObject; Shift:
> TShiftState; X, Y: Integer);begin// отжата стоп процессend;
>
procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
// отжата стоп процесс
end;
bumbum (2012-01-15 10:29:00) [10]
////// Клавишей tab enter ////
procedure TForm1.Button1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
// нажата старт процесс
end;
procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
// отжата стоп процесс
end;
////// мышкой ////
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
// нажата старт процесс
end;
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
// отжата стоп процесс
end;