Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];

Вниз

Динамически созданный 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.052 c
2-1208350222
Апостля
2008-04-16 16:50
2008.05.18
буфер. ричедит.


2-1208872290
@!!ex_
2008-04-22 17:51
2008.05.18
Как задать число в двоичной системе исчисления?


11-1187366554
Vladimir Kladov
2007-08-17 20:02
2008.05.18
Версия 2.78


15-1207233109
Gabriel'
2008-04-03 18:31
2008.05.18
С чего нужно начать писать компьютерные игры?


2-1208926830
net send
2008-04-23 09:00
2008.05.18
Передать звуковое сообщение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский