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

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

как узнатьть на какой созданный компонент нажал пользователь? [D7, WinXP]


AnGel ©   (2010-10-06 18:34:00) 

Создаю энное колво компонентов указанное ранее;

TImage.Create(self).Name:=NamePrefixImage + IntToStr(ktm);
C:=TImage(FindComponent(NamePrefixImage + IntToStr(ktm)));
with TImage(FindComponent(NamePrefixImage + IntToStr(ktm))) do
   begin
     Left := 8;
     Top := 8;
     Height := 113;
     Width := 105;
     Parent := q;
     Proportional:=True;
     Picture.LoadFromFile('Добавить в избранное.png');
     Tag:=ktm;
     onMouseDown:=Image2MouseDown;
     OnMouseMove:=Image2MouseMove;
     end;

Даю им обработчик

if MActive=True then
begin
 C.Left:=X-XX;
 C.Top:=Y-YY;
end;

Но С- это один компонент, и соответственно координаты меняются только его. Тогда создаётся вопрос : "А как сделать, чтобы Сменялся в зависимости, на какой компонент нажали"


AnGel   (2010-10-07 12:23:00) [1]

Спасибо!


Германн   (2010-10-07 04:33:00) [2]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=342
Читать до полного просветления.

P.S. Статью по правильному использованию as и is (а так же по особенностям приведения типов) от ЮЗ не нашел. Очевидно ещё не написана.
)))


_Юрий   (2010-10-06 18:58:00) [3]


>
> TImage.Create(self).Name:=NamePrefixImage + IntToStr(ktm);
>
> C:=TImage(FindComponent(NamePrefixImage + IntToStr(ktm)));
>
> with TImage(FindComponent(NamePrefixImage + IntToStr(ktm)))
> do
>    begin


С:=TImage.Create(self);//имя не нужно
with C do

Обработчик:
var
 C: TImage;

C:=Sender as TImage;
C.Left:=X-XX;


Наверх

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