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

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

Кнопка


Helen ©   (2006-05-24 00:39:00) 

Каким образом можно сделать так, чтобы при нажатии на конпку, например 3 сек, запускалось одно, а при простом нажатии другое?


ЮЮ   (2006-05-24 10:33:00) [1]


> А разве кнопки можно только мышкой нажимать?

а это будет простое нажатие. Фича достигается только мышью :)


Loginov Dmitry   (2006-05-24 09:34:00) [2]

А разве кнопки можно только мышкой нажимать?
(Есть еще пробел...)


alex-drob   (2006-05-24 01:24:00) [3]

Вот с двумя действиями


var b:Boolean;

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 b:=False;
 Timer1.Interval:=3000;
 Timer1.Enabled:=True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Timer1.Enabled:=False;
 b:=True;
 Действие 2
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 Timer1.Enabled:=False
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if b then exit;
Действие 1
end;


alex-drob   (2006-05-24 01:18:00) [4]

+

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 Timer1.Enabled:=False
end;


alex-drob   (2006-05-24 01:15:00) [5]

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 Timer1.Interval:=3000;
 Timer1.Enabled:=True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Timer1.Enabled:=False;
 Действие;
end;


SedAche   (2006-05-24 01:07:00) [6]

А как чтобы по окончании 3 секунд, не отжимая клавишу, запускалось действие?


alex-drob   (2006-05-24 00:45:00) [7]

var
 t:ttime;

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 t:=now;
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
if now-t<StrToTime('0:00:03') then
 caption:='Действие 1'
 else
 caption:='Действие 2'
end;


Наверх

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