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

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

mouse [D5]


race1 ©   (2002-12-28 15:47:00) 

как зделать что бы мышка передвигалась не свободно, а по какой-то прямой, линии, у которой известны начальные и конечные координаты? Например, линия такая - начальные координаты - 0, 0, конечные - 100, 100. мышка может быть на (100, 100), на (0, 0), но не сожет быть на (100, 50), на (50, 100)


myor   (2002-12-29 10:44:00) [1]


> Diamond Cat © (29.12.02 04:23)
> бегемот предложил бегемотский способ есть куда более простые,
> а главное действенные методы к примеру
> procedure TForm1.Button1Click(Sender: TObject);
> var


а может лучше просто обрабатывать mousemove и устанавливать курсор setcursorpos?


Юрий Зотов   (2002-12-29 10:31:00) [2]

> Diamond Cat © (29.12.02 04:23)

И что? Мышь будет свободно двигаться в пределах прямоугольника, а вовсе не по линии, как требовалось.

Для этой задачи СlipСursor годится только для вертикальных или горизонтальных линий. Для наклонных же нужно задать область минимального размера и все время ее перестраивать. То есть, все равно придется отслеживать движение мыши - а тогда к чему этот огород, если проще использовать SetCursorPos?


Diamond Cat   (2002-12-29 04:23:00) [3]

бегемот предложил бегемотский способ есть куда более простые, а главное действенные методы к примеру
procedure TForm1.Button1Click(Sender: TObject);
var
r:Trect;
begin
with r do begin
Left:=0;
Top:=200;
Bottom:=201;
Right:=800;
end;
clipcursor(@r);
setcursorpos(1,200);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
clipcursor(nil);
end;
с наступающим


OxOTHuK   (2002-12-28 23:20:00) [4]

ну типа Бегемот прав...
напишешь там что если x>?? то x:=100 (или что там у тебя)


Кот Бегемот   (2002-12-28 17:55:00) [5]

Как сделать-как сделать :-\
Насыпать на полу крошек по какой-то прямой, линии:)

WM_MOUSEMOVE обрабатывать конечно


Наверх

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