Главная страница
    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.48 MB
Время: 0.01 c
6-25000
Сувлехим
2002-11-10 19:42
2003.01.09
Как преобразовать время из Timer а из миллисекунд в нормальное


1-24903
alvin
2002-12-22 20:45
2003.01.09
StringGrid


14-25040
OlDemon
2002-12-20 07:12
2003.01.09
Сайт по VBA


4-25131
Comwad
2002-11-20 08:48
2003.01.09
Узнать объем памяти, который занимает процесс.


4-25160
3asys
2002-11-19 17:10
2003.01.09
Перемещение между окнами приложения





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