Конференция "Основная" » Таймер "ловит" не все клики мыши [D7, WinXP]
 
  • tetris (09.04.08 13:20) [0]
    Проблема таймер "ловит" не все клики левой кнопки мыши над объектом.
    пропускает ...

    Интервал тайиера 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;
  • Palladin © (09.04.08 13:23) [1]
    и что же это такое ты делаешь'то так ректально?
  • Сергей М. © (09.04.08 13:25) [2]
    Что-то непонятно, за каким лешим нужен этот таймер ...
  • tetris (09.04.08 13:27) [3]
    таймер обрабатывает результаты подсчетов и рисует на канве анимацию
  • tetris (09.04.08 13:28) [4]
    а ты паладин,- сам ректальный...
  • Сергей М. © (09.04.08 13:31) [5]
    А зачем тогда нужны обработчики мышиных кнопкодвижений ?
  • tetris (09.04.08 13:33) [6]
    по кликам перерисовывается канва. (Я аниматор по специальности и просто вынужден писать какой то код для своих демонстраций)
  • Сергей М. © (09.04.08 13:34) [7]

    > tetris   (09.04.08 13:28) [4]


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

    В упор не вижу ничего похожего)
  • Сергей М. © (09.04.08 13:35) [8]

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


    В упор не вижу никокй работы с канвой в обработчиках мышиных кнопкодвижений..
  • tetris (09.04.08 13:38) [9]
    Удалено модератором
    Примечание: Скатерью дорога
  • {RASkov} © (09.04.08 13:40) [10]
    :)))
  • Сергей М. © (09.04.08 13:42) [11]
    Красавец и ректальные чудовищи))
  • Kolan © (09.04.08 13:42) [12]
    > Mouse_Sb_1 := True else Mouse_Sb_1 := False;

    if True Then
     True
    else
     False



    Прикольно :)
  • {RASkov} © (09.04.08 13:46) [13]
    > [9] tetris   (09.04.08 13:38)

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

    > tetris   (09.04.08 13:28) [4]

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

    LMD
  • {RASkov} © (09.04.08 13:51) [15]
    > [14] Palladin ©   (09.04.08 13:49)
    > обычный OnClick и OnMouseMove...

    Помоему атору достаточно только второго :)
  • {RASkov} © (09.04.08 13:52) [16]
    > атору

    *автору
    Долбаная клава(
  • Palladin © (09.04.08 13:53) [17]

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

    ну вообще-то да...
    ну на всякий случай, вдруг он и про первый не знает.... )
  • {RASkov} © (09.04.08 14:01) [18]
    > [17] Palladin ©   (09.04.08 13:53)
    > вдруг он и про первый не знает....

    И не узнает.... Он уже наверное на другом, "более людском" форуме, "зажигает" :)
  • Anatoly Podgoretsky © (09.04.08 15:50) [19]
    Он уже на курорте
 
Конференция "Основная" » Таймер "ловит" не все клики мыши [D7, WinXP]
Есть новые Нет новых   [134487   +52][b:0][p:0.001]