Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.05.20;
Скачать: CL | DM;

Вниз

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

 
AlxAY   (2012-01-15 10:08) [0]

Хочу при нажатии на Button выполнять прокрутку изображения до того момента пока не отпущу её. Как это можно сделать?


 
bumbum   (2012-01-15 10:29) [1]


//////  Клавишей 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;


 
bumbum   (2012-01-15 10:32) [2]


> 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;


 
AlxAY   (2012-01-15 10:55) [3]

А с помощью While никак это реализовать нельзя? 33 процедуры - тут нажата, тут отжата.... Может есть какие-нибудь "индикаторы состояния"?
procedure TForm1.Button3Click(Sender: TObject);
begin
  While Button=нажата do
  begin
     ProcedureUP;
  end;
end;


 
Dimka Maslov ©   (2012-01-15 11:03) [4]

По таймеру с отслеживанием GetAsyncKeyState


 
bumbum   (2012-01-15 11:14) [5]


> procedure TForm1.Button3Click(Sender: TObject); begin  

это сработает только тогда когда кнопка будет нажата потом отжата


 
Anatoly Podgoretsky ©   (2012-01-15 11:29) [6]

> AlxAY  (15.01.2012 10:08:00)  [0]

Пример SpinEdit


 
Dimka Maslov ©   (2012-01-15 11:47) [7]

Если вообще делать по уму, процесс "обработки изображения" надо выносить в отдельный поток, который по событию запускается/возобновляется, по другому событию - приостанавливается. Сомнение по кол-ву процедур - лишнее. Их может быть и 100500. Но меня тревожат смутные опасения за саму обработку изображения...


 
bumbum   (2012-01-15 12:02) [8]


> Dimka Maslov ©   (15.01.12 11:47) [7]


Аха!!! любитель +100500


 
sniknik ©   (2012-01-15 12:10) [9]

> который по событию запускается/возобновляется, по другому событию - приостанавливается.
> Сомнение по
нажатие (клик) кнопки у "батонов" одно.

делать нужно как
Anatoly Podgoretsky ©   (15.01.12 11:29) [6]
там своя "кнопка".


 
sniknik ©   (2012-01-15 12:12) [10]

> делать нужно как
ну или с TSpeedButton там клик вполне попеделенно вызывается в отпускании мыши, и есть нажатие... т.е. переопределить их и все. проще чем свою "рисовать".



Страницы: 1 вся ветка

Текущий архив: 2012.05.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
15-1326217120
Jimmy
2012-01-10 21:38
2012.05.20
Глубина и разряд в шахматах


2-1326605148
bumbum
2012-01-15 09:25
2012.05.20
управлять устройством через com port


2-1325596441
serhiyiv
2012-01-03 17:14
2012.05.20
Laptop s TouchPad


2-1326953184
OW
2012-01-19 10:06
2012.05.20
Из потока надо передать строку в VCL сообщением


2-1326722424
Cobalt
2012-01-16 18:00
2012.05.20
TTabSet - Hint