![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Мышка [D6, D7, WinXP]
Ivolg © (2004-06-09 16:33:00)Здрасьте люди добрые. Помогите пожайлусто! Мне нужно чтоб когда не шевелишь курсором мышки происходила мая процедура а когда шевелишь то моя процедура не работала? СПАСИБО!
Ivolg (2004-06-09 18:36:00) [1]Не получается всё равнно!! я делаю так:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
timer1.Enabled:=false;
timer2.Enabled:=true;
caption:='Off';
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
timer1.Enabled:=true;
caption:=caption+'2';
end;
У меня caption:=caption+'2'; по сто исполняется. что делать?
Sandman25 (2004-06-09 17:58:00) [2][19] Anatoly Podgoretsky © (09.06.04 17:54)
Ну если нужно "глобально", тогда, конечно.
Anatoly Podgoretsky (2004-06-09 17:54:00) [3]Sandman25 © (09.06.04 17:50) [18]
Не пойдет до него дело может не дойти.
Sandman25 (2004-06-09 17:50:00) [4]Application.OnIdle не подойдет?
Anatoly Podgoretsky (2004-06-09 17:38:00) [5][BAD]Angel (09.06.04 17:09) [14]
SetCapture
[BAD]Angel (2004-06-09 17:31:00) [6]наверное ведется подсчет, сколько времени юзверь ничего не делает :))
Agent13 (2004-06-09 17:27:00) [7]Очень интересно, что за процедура такая хитрая.
[BAD]Angel (2004-06-09 17:09:00) [8]а если надо не использовать форму? чтобы события от мышки приходили вне зависимости от того, где она находится на форме или вне ее? как тогда?
Anatoly Podgoretsky (2004-06-09 17:07:00) [9][BAD]Angel (09.06.04 16:52) [10]
Очень просто, при движении мышки управление будет попадать в обработчик если он есть и втихую гаситься, все остальное время его.
[BAD]Angel (2004-06-09 17:01:00) [10]нет, без Destroy :)
GuAV (2004-06-09 16:54:00) [11][BAD]Angel (09.06.04 16:50) [9]
помягче - это без AV ? :)
[BAD]Angel (2004-06-09 16:52:00) [12]Anatoly Podgoretsky и что эта пустая форма даст?
[BAD]Angel (2004-06-09 16:50:00) [13]можно и помягче :) Timer1.Enabled:=false;
Anatoly Podgoretsky (2004-06-09 16:49:00) [14]Сделай пустую форму, этого достаточно, будет работать согласно вопросу.
GuAV (2004-06-09 16:49:00) [15]
> А надо чтоб он один раз запускал.
Timer.Destroy в этой процедуре и больше она не запустися... ;-)
[BAD]Angel (2004-06-09 16:45:00) [16]ну в чем проблемма? запусти и отключи таймер
Ivolg (2004-06-09 16:43:00) [17][BAD]Angel
Ну мож пример написать. Буду очень признателен.
Ivolg (2004-06-09 16:42:00) [18]BFG9k
Проблема в том что, у меня таймер запускает по нескольку раз мою процедуру. А надо чтоб он один раз запускал.
[BAD]Angel (2004-06-09 16:39:00) [19]смотря где?! если на форме то вариант BFG9k прокатит если нет, то либо сообщение ловить надо, либо Mouse.CursorPos.X и Y соответственно! Только не на таймер! (много ресурсов и процессорного времени жрет зараза :))
Самый логичный способ это ловить мессагу на шивиление мышью :)
Anatoly Podgoretsky (2004-06-09 16:38:00) [20]Так только твоя процедура и будет работать на компьютере.