Текущий архив: 2008.05.18;
Скачать: CL | DM;
ВнизДинамически созданный Image Найти похожие ветки
← →
Arinyshka (2008-04-23 11:18) [0]считывая из БД картинки, я создаю динамические Image:
FImages: array of TImage; (в привате формы)
Циклом FImage[i]:=TImage.Create(SetPayFrm);
При создании к картинкам привязывается одно и то же контекстное меню.
Tag картинки занят доп инфрормацией. Name я ей не назначала... координаты картинки на родителе все время меняются.
Теперь мне нужно картинку удалять. Есть хранимая, все бы не вопрос... Удалять собиралась по щелчку в контекстном. Процедура обработки щелчка есть. Пытаюсь передать в нее Sender картинки, у которой вызывалось меню - ошибка на выполнении, свойства Sender не те, что ожидались от выбранной картинки...
Вопрос в следующем: если у меня массив TImage, что я знаю о каждом? Как мне обратиться к конкретному... не координаты же вычислять. конструкция
procedure TSetPayFrm.ImageContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin
CurrentImage := Sender as TImage;
end;
прекрасно работала, пока картинки были размещены как статические компоненты... Теперь - нет.
Сорри за запутанный вопрос...
← →
Palladin © (2008-04-23 11:23) [1]TPopupMenu.PopupComponent
← →
Ega23 © (2008-04-23 11:23) [2]1. Если Name бесполезно - пользуйся свойством Tag.
2. Если Tag уже занят, то я бы посоветовал написать свой класс, в котором будет TImage и хранить экземпляры уже этого класса. Ну либо потомок TImage.
← →
Игорь Шевченко © (2008-04-23 11:33) [3]
> При создании к картинкам привязывается одно и то же контекстное
> меню.
код привязки в студию.
> Пытаюсь передать в нее Sender картинки, у которой вызывалось
> меню - ошибка на выполнении, свойства Sender не те, что
> ожидались от выбранной картинки...
параметр sender - это то, что тебе надо
← →
Arinyshka (2008-04-23 11:45) [4]УРРААА!!! Заработало :) пасиб за TPopupMenu.PopupComponent :)
← →
Arinyshka (2008-04-23 11:47) [5]ЭЭЭ... вот и вся привязка:
with FImages[i] do
begin
Picture.bitmap.LoadFromStream(MyStream);
Tag:=qrUniImage.FieldByName("id_image").AsInteger;
PopupMenu:= PopupMenuImage;
end;
Create, Parent.. просто вырезала, чтобы вас не грузить :)
Страницы: 1 вся ветка
Текущий архив: 2008.05.18;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.067 c