Главная страница
    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.006 c
8-24981
Вован2
2002-09-20 00:21
2003.01.09
Картинка в RES


4-25143
chips
2002-11-21 12:52
2003.01.09
handle controlов в чужой программе


14-25048
Marcus
2002-12-18 13:11
2003.01.09
Неустойчивая работа DCOM-клиентов (Delphi 5, MIDAS) в Windows 98


1-24948
Nimda
2002-12-26 16:58
2003.01.09
Canvas


14-25030
Grifon
2002-12-18 21:54
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский