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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
1-43022
nick_vstu
2002-03-01 02:40
2002.03.14
Что делает TSomeType.Create?


6-43121
ekap
2001-12-26 13:40
2002.03.14
Наличие сетевых ресурсов...


4-43227
otari
2002-01-07 12:32
2002.03.14
как поимать HWND если у приложений две edit


1-43090
Eugie
2002-02-27 13:41
2002.03.14
Изменение цвета компонентов и шрифта


3-42956
Duce
2002-02-14 12:37
2002.03.14
Как красиво исполнить INSERT?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский