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

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

Таймер "ловит" не все клики мыши [D7, WinXP]


tetris ©   (2008-04-09 13:20:00) 

Проблема таймер "ловит" не все клики левой кнопки мыши над объектом.
пропускает ...

Интервал тайиера 50мс

procedure TfmLock.Timer_WorkTimer(Sender: TObject);
var  p: TPoint;
begin
 GetCursorPos(p);

 // определяем что мышь над объектом:
 if ((p.x > fmLock.Left + Zona_1.Left) and  (p.x < fmLock.Left + Zona_1.Left + 50) and
  (p.y > fmLock.Top  + Zona_1.Top) and (p.y < fmLock.Top  + Zona_1.Top+ 50))  then
   Mouse_Sb_1 := True else Mouse_Sb_1 := False;

 if ((Mouse_Sb_1 = True) and (Mouse_Left_1 = True)) then begin
     Brush.Style := bsSolid;
     Brush.Color := clWhite;
     .. рисуем на канве
    ...
end;  

procedure TfmLock.Zona_1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 if Button = mbLeft then Mouse_Left_1 := True;
 if Button = mbRight then Mouse_Right_1 := True;
 if Button = mbMiddle then Mouse_Middle_1 := True;
end;

procedure TfmLock.Zona_1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 if Button = mbLeft then Mouse_Left_1 := False;
 if Button = mbRight then Mouse_Right_1 := False;
 if Button = mbMiddle then Mouse_Middle_1 := False;
end;


Anatoly Podgoretsky   (2008-04-09 15:50:00) [1]

Он уже на курорте


{RASkov}   (2008-04-09 14:01:00) [2]

> [17] Palladin ©   (09.04.08 13:53)
> вдруг он и про первый не знает....

И не узнает.... Он уже наверное на другом, "более людском" форуме, "зажигает" :)


Palladin   (2008-04-09 13:53:00) [3]


> {RASkov} ©   (09.04.08 13:51) [15]

ну вообще-то да...
ну на всякий случай, вдруг он и про первый не знает.... )


{RASkov}   (2008-04-09 13:52:00) [4]

> атору

*автору
Долбаная клава(


{RASkov}   (2008-04-09 13:51:00) [5]

> [14] Palladin ©   (09.04.08 13:49)
> обычный OnClick и OnMouseMove...

Помоему атору достаточно только второго :)


Palladin   (2008-04-09 13:49:00) [6]


> tetris   (09.04.08 13:28) [4]

ты хоть осознаешь через какую $адницу ты реализовал обычный OnClick и OnMouseMove...

LMD


{RASkov}   (2008-04-09 13:46:00) [7]

> [9] tetris   (09.04.08 13:38)

Таймер, он на то и таймер ...он тикает.... и работа его ведется в момент тиков, так сказать, хоть ты и выставил малый интервал, но все равно этого не достаточно....
Ты лучше пересмотри свой алгоритм работы чего-то там с канвой и кликами.... или подробнее вопрос задай...
И еще.... когда занимаешься не своей работой, то получится однозначно лажа.... см [12] например )


Kolan   (2008-04-09 13:42:00) [8]

> Mouse_Sb_1 := True else Mouse_Sb_1 := False;

if True Then
 True
else
 False


Прикольно :)


Сергей М.   (2008-04-09 13:42:00) [9]

Красавец и ректальные чудовищи))


{RASkov}   (2008-04-09 13:40:00) [10]

:)))


tetris   (2008-04-09 13:38:00) [11]

Удалено модератором
Примечание: Скатерью дорога


Сергей М.   (2008-04-09 13:35:00) [12]


> по кликам перерисовывается канва


В упор не вижу никокй работы с канвой в обработчиках мышиных кнопкодвижений..


Сергей М.   (2008-04-09 13:34:00) [13]


> tetris   (09.04.08 13:28) [4]


Если ты возражаешь против ректальности своей логики, то покажи место в коде обработчика таймера, где происходит эта самая "ловля кликов")

В упор не вижу ничего похожего)


tetris   (2008-04-09 13:33:00) [14]

по кликам перерисовывается канва. (Я аниматор по специальности и просто вынужден писать какой то код для своих демонстраций)


Сергей М.   (2008-04-09 13:31:00) [15]

А зачем тогда нужны обработчики мышиных кнопкодвижений ?


tetris   (2008-04-09 13:28:00) [16]

а ты паладин,- сам ректальный...


tetris   (2008-04-09 13:27:00) [17]

таймер обрабатывает результаты подсчетов и рисует на канве анимацию


Сергей М.   (2008-04-09 13:25:00) [18]

Что-то непонятно, за каким лешим нужен этот таймер ...


Palladin   (2008-04-09 13:23:00) [19]

и что же это такое ты делаешь'то так ректально?


Наверх

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