![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как узнатьть на какой созданный компонент нажал пользователь? [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;