Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Перенос координат в центр Image...   Найти похожие ветки 

 
Dir   (2005-01-30 01:27) [0]

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


 
Andy BitOff ©   (2005-01-30 01:32) [1]

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

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


 
olookin ©   (2005-01-30 01:32) [2]

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


 
Andy BitOff ©   (2005-01-30 01:36) [3]

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


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


 
Dir   (2005-01-30 01:49) [4]

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


 
olookin ©   (2005-01-30 03:04) [5]

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

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


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

[4] Dir   (30.01.05 01:49)

Нуль чего?


 
ninja ©   (2005-01-30 11:34) [7]


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;


так чтоля?


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

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


 
ninja ©   (2005-01-30 11:47) [9]


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

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


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

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


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


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


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



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.035 c
14-1106578032
AlexG
2005-01-24 17:47
2005.02.13
Как WinXP выключить из командной строки?


3-1105535944
Doctor Deejay
2005-01-12 16:19
2005.02.13
Как можно сделать сортировку в TTable без применения индексов?


1-1107169060
Garry_c
2005-01-31 13:57
2005.02.13
MessageBox


6-1102072233
Vyacheslav
2004-12-03 14:10
2005.02.13
FTP&amp;indy Проблема при уничтожения FTPServer - a


1-1107106394
Pointer
2005-01-30 20:33
2005.02.13
преобразования...