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

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

Перенос координат в центр Image... [D6, Win95/98]


Dir ©   (2005-01-30 01:27:00) 

Народ!Помогите!
На форме есть Image и Edit.
В Edit выводятся координаты мыши на Image.
Но нуль - левый верхний угол.
Как перенести начало координат в другую точку, например в середину Image. То есть, чтобы в Edit выводились координаты относительно новой точки?
Спасибо за внимание.


Просто Джо   (2005-01-31 04:09:00) [1]


> Вроде пашет!


Ну, это не надолго...


Dir   (2005-01-30 17:15:00) [2]

Ninja, спасибо за help!
Вроде пашет!


ninja   (2005-01-30 11:47:00) [3]


> координаты должны показываться только в области него и
> нуль должен быть в левом нижнем углу прямоугольника!

а я что написал?
или ты хочешь, чтобы при событии MouseMove в качестве X и Y передавались координаты относительно прямоугольника? :)


Dir   (2005-01-30 11:38:00) [4]

Начало координат должно быть перенесено в левый нижний угол прямоугольника. Тоесть координаты относительно фигуры, как в графических приложениях, а не относительно окна рисования.


ninja   (2005-01-30 11:34:00) [5]


const
 R: TRect = (Left: 30; Top: 30; Right: 150; Bottom: 100);

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 Image1.Canvas.FillRect(Rect(0,0,Image1.Width, Image1.Height));
 Image1.Canvas.Rectangle(R);
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
 if (X>=R.Left) and (X<=R.Right) and (Y<=r.Bottom) and (Y>=r.Top) then
   Edit1.Text:='X: ' + IntToStr(X - R.Left) + '; Y: ' + IntToStr(R.Bottom - Y)
 else Edit1.Text:='';
end;


так чтоля?


olookin   (2005-01-30 03:05:00) [6]

[4] Dir   (30.01.05 01:49)

Нуль чего?


olookin   (2005-01-30 03:04:00) [7]

[3] Andy BitOff ©   (30.01.05 01:36)

А ничего не понял... Именно - вопроса не понял...


Dir   (2005-01-30 01:49:00) [8]

Не..
Глючит, почему-то!
Может, я не правильно поясняю!
Проблема , если подробнее, такая:
на Image нарисован прямоугольник,
координаты должны показываться только в области него и
нуль должен быть в левом нижнем углу прямоугольника!
Но прямоугольник не обязательно по центру.
Во, вроде так!


Andy BitOff   (2005-01-30 01:36:00) [9]

olookin ©   (30.01.05 01:32) [2]
Я лично не понял...


А чего не понял-то?


Andy BitOff   (2005-01-30 01:32:00) [10]

Вычти из твоих координат ширину/высоту имаджа деленную на 2.

Вообще то это надо бы понимать.


olookin   (2005-01-30 01:32:00) [11]

Я лично не понял...


Наверх

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