|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Координаты движение курсора
дело состоит в том..как можно с помощью клика мишки на форме рисунок должен "поплисть" на место клика мишки..как определить координаты клика мишки...
вот есть код ... Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; Timer1: TTimer; procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; dx, dy, g:real; implementation procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var x1,y1: integer; begin x1:=x-Image1.Left; y1:=y-Image1.Top; g:=sqrt(sqr(x1)+sqr(y1)); dx:=g / x1; dy:=g / y1; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Image1.Top:=Image1.Top+round(dy); Image1.Left:=Image1.Left+round(dx); end; end. |
#2
|
|||
|
|||
Место клика
как определить координаты места на которое било произведенно нажатие мишки на форме в делфи..
|
#3
|
||||
|
||||
Axotnik, видишь вот это
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Вот эти X и Y и есть координаты курсора в момент нажатия кнопки. Не профи, но и не чайник . D6 - лучше не придумали. Пока. |
#4
|
||||
|
||||
А если делать в OnClick, то можно сделать так:
Код:
var CPos: TPoint; begin ... GetCursorPos(CPos); ScreenToClient(CPos); ... end; Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#5
|
|||
|
|||
Можно вообще поступить так:
var CurPos:TRect; begin GetCursorPos(CurPos); end; |
#6
|
|||
|
|||
А как найти координаты курсора в TImage? Я так понимаю в вашем случае координаты будут считаться относительно формы.
И получить мне координаты необходимо в числах т.е. х=..., у=... Делаю так Код:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Image1.Canvas.TextOut(X,Y,'point'); Memo1.Text:=Memo1.Text+ IntTostr(X) + IntTostr(Y); end; Последний раз редактировалось Unocide, 23.02.2008 в 22:33. |