|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Движение указателя по форме или Image
Надо чтоб указатель двигался с привязкой к точкам (допустим ч/з каждые 50точек), как по координатной сетке (например как в AutoCAD) во все 4 направления.
P.S. Немогу реализовать идею. HELP!!! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . указатель мыши должен двигаться только по отмеченным точкам. |
#2
|
||||
|
||||
Примерно так:
Код:
procedure MOUSEMOVE(var Message: TWMMouseMove); message WM_MOUSEMOVE; ... var Change: Boolean = False; ... procedure TForm1.MOUSEMOVE(var Message: TWMMouseMove); const Step = 20; var NewPos: TPoint; Tmp: Integer; begin Change:=not Change; Label1.Caption:=IntToStr(Message.XPos); Label2.Caption:=IntToStr(Message.YPos); Tmp:=(Message.XPos div Step)*Step; if Message.XPos mod Step > Step div 2 then Tmp:=Tmp + Step; NewPos.X:=Tmp; Tmp:=(Message.YPos div Step)*Step; if Message.YPos mod Step > Step div 2 then Tmp:=Tmp + Step; NewPos.Y:=Tmp; NewPos:=ClientToScreen(NewPos); if not Change then SetCursorPos(NewPos.X, NewPos.Y); end; Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#3
|
|||
|
|||
Спасибо, пока самый удачный вариант.
Если есть еще какие - нибудь предложения... |