![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Есть форма (Form1), на ней панель (Panel1), на панели картинка, загруженная в имэйдж (Image1). Задача- таскать имэйдж по панели. Для этого пересчитываю координаты имэйджа:
Код:
procedure TForm1.ImMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var Po:TPoint; begin if dvig=true then begin Po:=ClientToParent(point(x,y)); Im[i].Left:=Po.X; Im[i].Top:=Po.Y; end; end; ![]() |
#2
|
|||
|
|||
![]() Сори за неточность....имэйдж не Image1, а Im[i].
|
#3
|
|||
|
|||
![]() можно так
PHP код:
|
#4
|
|||
|
|||
![]() Цитата:
И правильно что не работает. Координаты получаете в системе Form1 и вызываете TForm1.ClientToParent. Т.е. переводите их в систему родителя Form1. А нужно в систему Panel1. В таких случаях лучше вызывать сначала Form1.ClientToScreen, а затем Image1.Parent.ScreenToClient. И получите координаты в системе родителя Image1, что и нужно... |
#5
|
|||
|
|||
![]() Спасибо, Pyro..)) Ты крут..)) И тебе Lucky...Ты тоже прав..))
|