Главная страница
    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.007 c
1-24964
mer
2002-12-27 07:17
2003.01.09
разность дат


3-24773
nikolo
2002-12-10 11:06
2003.01.09
Как записать графический файл в MS SQL?


7-25106
Diamond Dog
2002-10-29 19:29
2003.01.09
Информация о железе


1-24858
GOG
2002-12-27 05:49
2003.01.09
Дискретка


1-24919
drin
2002-12-24 18:16
2003.01.09
DLL





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