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

Вниз

Как програмно удалить с формы лаблы, кнопки и т.д. ?   Найти похожие ветки 

 
Masa   (2002-12-26 14:02) [0]

?


 
Song   (2002-12-26 14:07) [1]

Со своей проги или чужой?


 
Dona   (2002-12-26 14:08) [2]

Destructor
Object.Free;



 
DOOMin   (2002-12-26 14:11) [3]

А не проще их скрыть? Просто visible=false


 
Masa   (2002-12-26 14:14) [4]

Song ©
со своей.
На пример я создаю во время исполнения 10 лаблов, после закрытия формы их надо удалить.


 
Dona   (2002-12-26 14:16) [5]

>На пример я создаю во время исполнения 10 лаблов, после закрытия формы их надо удалить.

Скорее перед закрытием


 
Lady D   (2002-12-26 14:16) [6]

Они сами удалятся вместе с формой. А вообще FreeAndNil(...);


 
Song   (2002-12-26 14:17) [7]

Если они были созданы в design-time, они удалятся сами. Если были созданы в run-time то смотря как были созданы.


 
Masa   (2002-12-26 14:22) [8]

Вот так создаються.

procedure TfrmAdd.Execute(btnSet : TheMenu; num : integer);
var
b : array[1..4] of TButton;
i : integer;
begin
for i := 1 to 4 do
begin
b[i] := TButton.Create(self);
b[i].Parent := Self;
b[i].Width := Panel1.Width - 10;
b[i].Height := 25;
b[i].Left := 5;
b[i].Top := i * 25;
b[i].Caption := btnSet[num][i].caption;
b[i].onClick := ButtonClick;
b[i].Tag := StrToInt(IntToStr(num)+IntToStr(i));
if (btnSet[num][i].caption = "") then b[i].Visible := False;
end;
ShowModal;
end;


 
Masa   (2002-12-26 14:27) [9]

это кнопки создаються.
лаблы так же.


 
TTCustomDelphiMaster   (2002-12-26 14:27) [10]

Они удалятся вместе с формой сами. Но если очень надо, то b[i].Free;


 
Pat   (2002-12-26 16:22) [11]

b[i] := TButton.Create(application);
И можно не удалять самому...
З.Ы. Сейчас начнутся разговоры про стиль программирования :-))


 
Masa   (2002-12-26 17:05) [12]

Нужно удалить с модальной формы.


 
Masa   (2002-12-26 17:10) [13]

Как узнать сколько кнопок на форме всего ?


 
Dona   (2002-12-26 17:29) [14]

Интересно, зачем? Ты ведь их сам создавал.

Разве что использовать св-во Form.ComponentCount - кол-во компонентов формы.
Доступ к i компоненту есть через св-во Form.Components[i] (нумерация с 0). Проверить, явл-ся ли этот компонент кнопкой, можно так
if Form1.Components[i] IS TButton then ...


 
han_malign   (2002-12-26 18:22) [15]

procedure TfrmAdd.Execute(btnSet : TheMenu; num : integer);
var
b : array[1..4] of TButton;
i : integer;
begin
for i := 1 to 4 do
begin
b[i] := TButton.Create(self);
b[i].Parent := Self;
b[i].Width := Panel1.Width - 10;
b[i].Height := 25;
b[i].Left := 5;
b[i].Top := i * 25;
b[i].Caption := btnSet[num][i].caption;
b[i].onClick := ButtonClick;
b[i].Tag := StrToInt(IntToStr(num)+IntToStr(i));
if (btnSet[num][i].caption = "") then b[i].Visible := False;
end;
ShowModal;
for i := 1 to 4 do b[i].Free;
end;
- только не пойму, зачем их создавать динамически, если состав и размещение постоянные.


 
Namor   (2002-12-27 14:55) [16]

Полностью согласен с уважаемым мастером han_malign.
Или так b[i] := nil;
Или так b[i].Destroy;


 
han_malign   (2002-12-27 15:16) [17]

b[i] := nil; - не прокатит - в отличие от динамических массивов, открытых строк и интерфейсов, для ссылок на экземляры классов "compiller magic" не проходит.


 
TTCustomDelphiMaster   (2002-12-27 15:17) [18]


> b[i] := nil;


Так ни в коем случае


> b[i].Destroy;


А так не рекомендуется



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

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

Наверх





Память: 0.6 MB
Время: 0.04 c
14-25023
Morfein
2002-12-19 20:35
2003.01.09
Хостинг


14-25045
sancho
2002-12-20 12:50
2003.01.09
Бывают урлы бз верхнего домена...


4-25133
pavelB
2002-11-20 15:44
2003.01.09
мои документы


14-25021
Julka
2002-12-18 23:56
2003.01.09
Подскажите, мастера, девушке...


14-25060
XMblPb
2002-12-20 18:01
2003.01.09
Глюн в системе Windows 2000 Server





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