Главная страница
    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.47 MB
Время: 0.004 c
2-1326879729
i2e
2012-01-18 13:42
2012.05.20
Проверить TDrawGrid на установленные опции


15-1326539168
SQLEX
2012-01-14 15:06
2012.05.20
Шахматы. Короткие партии. Аля "Клуб13"


2-1326288747
JohnKorsh
2012-01-11 17:32
2012.05.20
Индикация версии программы.


15-1326364010
Псарь
2012-01-12 14:26
2012.05.20
Ну и в чем тут подвох?


15-1320098450
Бездомный
2011-11-01 01:00
2012.05.20
Драйвер виртуальной звуковой карты





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский