Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как циклично выполнять процедуру при нажатой кнопке?


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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо