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

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

Координаты и Panel... [D6, Win95/98, WinXP]


Angela ©   (2005-01-26 22:41:00) 

Мастера!
Помогите с проблемкой.
На Image есть Panel и Edit.
Когда водишь мышью по Image, то отображаются координаты Imag-а
в Edit-е. Надо, чтобы при попадании курсора мыши на Panel, отображались координаты Imag-а, а их почему-то нет.
Спасибо.


KilkennyCat   (2005-01-26 23:59:00) [1]


> Angela ©   (26.01.05 23:52) [6]


И б вам большое мирси.


Angela   (2005-01-26 23:52:00) [2]

Defunct, спасибо большое за ответ!
KilkennyCat, читай условия форума и нефиг оскорблять собиседника.
И вообще я прошу помощи у специалистов и колег!
А б тебе написала больше, но Администратор закроет тему...


KilkennyCat   (2005-01-26 23:08:00) [3]


> Defunct ©   (26.01.05 23:06) [4]

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


Defunct   (2005-01-26 23:06:00) [4]

KilkennyCat ©   (26.01.05 22:53) [2]

Все же дополню [2] с учетом [1]:

procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
var
 P : TPoint;
begin
 P := Image1.ScreenToClient( TPanel(Sender).ClientToScreen( Point(X,Y) ) );

 Edit1.Text := IntToStr( P.X ) + ' ' + IntToStr( P.Y );
end;


KilkennyCat   (2005-01-26 22:54:00) [5]

Какое-то варварство по отношению к девушкам в наших институтах...


KilkennyCat   (2005-01-26 22:53:00) [6]

Это ж зачем так надо-то, панель да на имадж?! Ах, простите, не заметил, что программист - девушка... Понятно. Вы не в одном институте с Jilian учитесь, где MDI с мемо и прочими заставляют скрещивать?

1) Удалить все нафиг.
2) кинуть на форму имадж
3) кинуть все остальное.

procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
 edit1.Text := inttostr(x) + ' ' + inttostr(y);
end;

з.ы. работать будет, хотя все абсолютно не верно...


Defunct   (2005-01-26 22:50:00) [7]

Image помоему не является контейнером, Panel к нему никак не относится, Panel у вас расположена на форме просто поверх Image. Поэтому обрабатывайте Panel.OnMouseMove, а дальше пользуйтесь методами:

ClientToScreen/ScreenToClient


Наверх

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