![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Таймер "ловит" не все клики мыши [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]и что же это такое ты делаешь'то так ректально?