Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.14;
Скачать: CL | DM;

Вниз

Как оповестить главную форму?   Найти похожие ветки 

 
UserL   (2002-02-20 07:15) [0]

На форме находится главный фрэйм. В этот фрэйм закинул TChart и TScrollBox. На TScrollBox`e создаю динамически объект TFrame в котором находится Shape, StaticText и PopupMenu. В PopupMenu пункт УДАЛИТЬ при нажатии на который удаляется динамически созданный объект. Как сообщить главному Фрейму, что объект был удален?


 
UserL   (2002-02-20 11:58) [1]

Есть ли вообще такая возможность, оповестить родителя об уничтожении предка?


 
-=CrazyFish=- ©   (2002-02-20 12:24) [2]

А что, если для уничтожения объекта вызывать метод главного фрейма, в котором это удаление будет прописано. Тогда и проблем не будет.


 
UserL   (2002-02-20 12:50) [3]

А как???
Я его создаю так:

Procedure CreateColorObg;
Var
ListColor: TList;
Begin
...
NamesColor:=TNameColor.Create(ScrollBox1);
ListColor.Add(NamesColor);
With NamesColor Do
Begin
Parent:=ScrollBox1;
Height:=19;
Width:=ClientWidth-2;
Left:=0;
Top:=Height*(ListColor.Count-1);
BevelInner:=bvNone;
BevelOuter:=bvNone;
ColorSet:=ColorNew;
NameSet:=NameTi;
Name:="NamesColor"+IntToStr(ListColor.Count);
End;
...


А TNameColor = class(TFrame)
...


 
-=CrazyFish=- ©   (2002-02-20 13:13) [4]

Задавай у каждого объекта TNameColor уникальный номер в свойстве Tag. В метод главного фрэйма, который будет удалять нужный объект передавай его Tag. Зная Таg объекта его можно найти и удалить.


 
UserL   (2002-02-25 06:46) [5]

Я удаляю TNameColor по его PopupMenu. А в PopupMenu вызываю его метод Destroy. Как тогда мне сказать родителю, что компонент удален?


 
Набережных С.   (2002-02-25 16:50) [6]

Посмотри методы FreeNotification и Notification.


 
UserL   (2002-02-26 05:33) [7]

А как эти методы работают?
Если можно примерчик приведите...


 
Набережных С.   (2002-02-26 14:58) [8]

Ну какой тут примерчик? Конструкция A.FreeNotification(B) заносит объект B в список нотификации объекта A, а объект A - в список объекта B.
В результате при уничтожении объекта A будет вызван метод B.Notification(A, opRemove) и наоборот. Метод
Notification виртуальный, перекрыв его можно соответственно отреагировать, например:
procedure B.Notification(AComponent:TComponent; Operation:TOperation)
if (A = MyRef)and(Operation = opRemove) then
MyRef:=nil;




Страницы: 1 вся ветка

Текущий архив: 2002.03.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
14-43169
Awex
2002-01-31 14:33
2002.03.14
Подскажите плиз, книку Рэя Конопки кто нибудь видел в каком нибудь интернет магазине, и Белеро и Озон и море других просмотрел, так и ненашел.... везде в нулевых остатках.... :(((


3-42937
Biocron
2002-02-14 07:27
2002.03.14
Помогите ПЛИЗ


3-42968
Havez
2002-02-16 16:28
2002.03.14
Передача данных между БД


1-43095
Стас
2002-02-28 06:31
2002.03.14
Помогите чайнику


3-42908
Draculenok
2002-02-13 15:00
2002.03.14
Для локальной сети