Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2012.05.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
2-1326879729
i2e
2012-01-18 13:42
2012.05.20
Проверить TDrawGrid на установленные опции


15-1326622195
brother
2012-01-15 14:09
2012.05.20
Продам аккаунт World Of Tanks


15-1326573005
Юрий
2012-01-15 00:30
2012.05.20
С днем рождения ! 15 января 2012 воскресенье


15-1326400202
Юрий
2012-01-13 00:30
2012.05.20
С днем рождения ! 13 января 2012 пятница


15-1326447033
aka
2012-01-13 13:30
2012.05.20
SSH+Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский