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

Вниз

О самоуничтожении объекта.   Найти похожие ветки 

 
ZeroDivide ©   (2005-09-27 15:30) [0]

Ситуация следующая. Есть форма которая динамически создает и показывает фрейм

procedure TfmTemplateFramed.ShowFrame(FrameClass: TfrmTemplateMainClass;
 Parent: TWinControl);
...
 FFrame := FrameClass.Create(Self);
...
 FFrame.Parent := Parent;
...


, предроложим что на форме ни каких контролов больше нет и у фрейма Align = alClient. Чтобы закрыть фрем, на нем лежит кнопка bClose

Теперь вопрос в том, как бы по клику на этой кнопке уничтожить фрейм?


 
Desdechado ©   (2005-09-27 15:59) [1]

динамически присвой кнопке внешний обработчик, который считает Sender и освободит твой фрейм


 
umbra ©   (2005-09-27 16:03) [2]

В обработчике нажатия кнопки


(bClose.Parent as TfrmTemplateMainClass).Close


 
Игорь Шевченко ©   (2005-09-27 16:05) [3]


> Теперь вопрос в том, как бы по клику на этой кнопке уничтожить
> фрейм?


Повесить на фрейм обработчик сообщения CM_RELEASE и по клику на кнопке отправлять фрейму это сообщение, по аналогии с TCustomForm.Release.

В обработчике сообщения написать Free;


 
ZeroDivide ©   (2005-09-27 16:25) [4]

по аналогии с TCustomForm.Release
Угу... Я так и сделал. Похоже, единственный метод.



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

Форум: "Основная";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.058 c
1-1127479554
Duk_
2005-09-23 16:45
2005.10.16
HTML page


1-1127391443
nikolas
2005-09-22 16:17
2005.10.16
Удаление комментариев из исходников


8-1116945542
Agent[007]
2005-05-24 18:39
2005.10.16
OpenGl и WinXP


14-1127463420
ANB
2005-09-23 12:17
2005.10.16
Слово в кроссворде из 6 букв


4-1124183268
volser
2005-08-16 13:07
2005.10.16
Изменение рабочего стола





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