Главная страница
    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.008 c
2-1261733510
2expres
2009-12-25 12:31
2010.03.07
Mediaplayer


2-1262284745
Zimmin
2009-12-31 21:39
2010.03.07
Как упростить ввод повторяющихся записей? ADO+Access


2-1262161972
pleasure
2009-12-30 11:32
2010.03.07
формы, права, доступ


2-1262618923
Делфией
2010-01-04 18:28
2010.03.07
Не могу придумать как распознать в каком контроле вызван Аction


15-1261321920
asail
2009-12-20 18:12
2010.03.07
Нужен совет по приобретению. нетбука...





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