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

Вниз

Добавление компанента по нажатию на баттон!   Найти похожие ветки 

 
ZXZ_RUS ©   (2009-12-28 14:04) [0]

Люди помогите чайнику - самоучке! Нежен код для Дельфи чтоб по нажатию на кнопку на форму добавлялся новый элемент например Shape, а так же код для его удаления! Количество элементво должно быть не ограничено сколько раз нажал столько и добаивлось! Желательно с возможностью задания Left and Top обьекта!  Зарание спасибо!


 
MBo ©   (2009-12-28 15:08) [1]

http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=342


 
Anatoly Podgoretsky ©   (2009-12-28 17:00) [2]

> ZXZ_RUS  (28.12.2009 14:04:00)  [0]

Parent := форма


 
Плохиш ©   (2009-12-28 23:39) [3]

Нежный код - это что-то из сказочного кодинга?


 
Игорь Шевченко ©   (2009-12-29 02:02) [4]

Плохиш ©   (28.12.09 23:39) [3]

Это комплимент. "Нежен код для Delphi..."


 
Andy BitOff ©   (2009-12-29 09:55) [5]


> Плохиш ©   (28.12.09 23:39) [3]

TФорма = class(TForm)
форма: TФорма

Parent := форма

(с)Delphi 2007 ;)


 
Maloj2008   (2009-12-29 21:38) [6]

Как вариант, вот тебе код.


var
 PanelList:TList;

...

procedure TForm1.Button1Click(Sender: TObject);
var
 MyPanel:TPanel;
begin
 MyPanel:=TPanel.Create(Self); //Создаем копонент
 MyPanel.Align:=alTop; //Устанавливаем у него выравнивание
 MyPanel.Parent:=Self; //Указываем где он должен находится
 PanelList.Add(MyPanel); //Добавляем компонент в список
 //Доступ можно получить еще так
 TPanel(PanelList.Items[PanelList.Count-1]).Caption:="Новая панель";
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 MyPanel:TPanel;
begin
 //Еще один вариант доступа к созданному компоненту
 MyPanel:=TPanel(PanelList.Items[PanelList.Count-1]);
 MyPanel.Free; //Уничтожаем последнюю панель
 PanelList.Delete(PanelList.Count-1); //Уничтожаем указатель на компонент в списке
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 //Уничтожаем все созданные нами панели
 while PanelList.Count>0 do
 begin
   TPanel(PanelList.Items[0]).Free;
   PanelList.Delete(0);
 end;
 PanelList.Free; //Уничтожаем список
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 PanelList:=TList.Create;
end;


 
Amoeba ©   (2009-12-30 00:44) [7]


> PanelList:TList;

Правильней в данном случае будет использовать не TList, а TObjectList.
Тогда этот код

> while PanelList.Count>0 do
>  begin
>    TPanel(PanelList.Items[0]).Free;
>    PanelList.Delete(0);
>  end;

можно будет выкинуть нафиг.


 
Германн ©   (2009-12-30 01:36) [8]


> Amoeba ©   (30.12.09 00:44) [7]
>
>
> > PanelList:TList;
>
> Правильней в данном случае будет использовать не TList,
> а TObjectList.
>

В смысле сабжа, правильней будет использовать  "встроенные" списки, а не создавать свои "дополнительные".


 
Maloj2008   (2009-12-30 13:23) [9]

Это был лишь пример. Реализаций может быть множество.



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

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

Наверх




Память: 0.46 MB
Время: 0.004 c
15-1261561398
vv_fran
2009-12-23 12:43
2010.03.07
Нагрузка на проц от Delphi 7 в Win2003 Server


15-1261061893
Kerk
2009-12-17 17:58
2010.03.07
Wasserman Daily


15-1261517422
Юрий
2009-12-23 00:30
2010.03.07
С днем рождения ! 23 декабря 2009 среда


15-1260504709
Дмитрий С
2009-12-11 07:11
2010.03.07
Взлетит шарик?


15-1261465203
MonoLife
2009-12-22 10:00
2010.03.07
Кто-нибудь пользуется yahoo почтой?





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