Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как создать кнопку


Страницы:   1 2

muhan ©   (2005-03-04 19:43:00) 

Как создать кнопку нажатием на др. кнопку?
не сделать видимой, а именно создать...
не могу найти (


Gero   (2005-03-06 22:12:00) [1]


> Defunct ©   (06.03.05 22:10)

Да, действительно, ты прав.


Defunct   (2005-03-06 22:10:00) [2]

Gero ©   (06.03.05 22:06) [29]
> А не ты ли в трех соснах заблудился случайно?

Определенно - нет. Проверено.


чяйник   (2005-03-06 22:09:00) [3]

Я проверял следующим образом:
 ButtonN := TButton.Create(Self);
 ButtonN.Parent := GroupBox1;
 GroupBox1.Free;
 ButtonN.Parent := Self;
Вылетает с AV.


Gero   (2005-03-06 22:06:00) [4]


> Если Parent назначен, то он уничтожит свои child контролы,
> если нет - тогда это сделает Owner.

А не ты ли в трех соснах заблудился случайно?


Василий   (2005-03-06 22:06:00) [5]


> Defunct ©   (06.03.05 21:51) [27]

Спасибо, что разъяснили. Из хелпа это вроде как не следует, но действительно, оказалось что Parent уничтожает своих Childов.


Defunct   (2005-03-06 21:51:00) [6]

> В хелпе не сказано, что уничтожением объекта занимается его Parent. Это делает Owner, а Parent только отображает.

че-то Вы в трех соснах заблудились. Если Parent назначен, то он уничтожит свои child контролы, если нет - тогда это сделает Owner.


Василий   (2005-03-06 21:37:00) [7]

В хелпе не сказано, что уничтожением объекта занимается его Parent. Это делает Owner, а Parent только отображает.

The Parent of a control is always a windowed control that visually contains the control. The Owner of a component is the component that was passed as a parameter in the constructor and that controls when the component is freed.


Defunct   (2005-03-06 01:38:00) [8]

[24]

Разумеется если не предвидится поиск созданной кнопки по FindComponent


Defunct   (2005-03-06 01:33:00) [9]

> Вроде если есть Parent то он уничтожит и свои контролы.

точно. В таком случае получается нет разницы, что мы пишем в Create?


Anatoly Podgoretsky   (2005-03-06 00:02:00) [10]

Defunct ©   (05.03.05 22:57) [21]
Вроде если есть Parent то он уничтожит и свои контролы.
Утечки будут при моногократном создании, да и то утечками это тоже сложно назвать, поскольку это не утечки, а время существования до времени существования объекта Application, то есть до конца жизни программы, потом они будут как положено уничтожены. По этой причине у меня Application владеет только главной формой, остальные имеют владельцем объект, в котором они создаются и при этом они все равно уничтожаются сразу же как только пропадает в них необходимость.


Leeechhhh   (2005-03-05 23:31:00) [11]

на сайте девелопмент и делфи была такая статья


Defunct   (2005-03-05 22:57:00) [12]

DesWind ©   (05.03.05 09:54) [20]

Да, например,

with TButton.Create( Application) do
begin
...
    Parent := FormX;

..
..

FormX.free;  

И экземпляр TButton остался висеть в памяти, в то время как отображаться ему уже негде


DesWind   (2005-03-05 09:54:00) [13]


> with TButton.Create(Application) do begin

А почему Application? При этом какие-то определенные особенности возникают?


Defunct   (2005-03-05 09:09:00) [14]

imho, как для экспериментов [4] больше подходит, как для кода "навсегда" - [13]. тока все же не стоит делать Create( Application ), чревато утечками.


HSolo   (2005-03-05 08:48:00) [15]

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


Nes   (2005-03-04 21:13:00) [16]

Блин начили тут мудрить, человеку нужно наиболее простой способ создать обычную кнопку...
  >muhan
Ты хоть понял как это сделать=)?


TUser   (2005-03-04 21:11:00) [17]


> Набережных С. ©  

Ну я и имел в виде что-то типа этого.

ЗЫ. Ткнули, собственно говря, вы.


Набережных С.   (2005-03-04 21:03:00) [18]


> TUser ©   (04.03.05 20:19) [13]

Например, она будет присутствовать в разных интересных списках владельца и родителя:)


Василий   (2005-03-04 20:32:00) [19]


> with TButton.Create(Application) do begin

Конгениально! (с)


TUser   (2005-03-04 20:19:00) [20]


> А обращаться к ней как (в случае, если не указать владельца
> и родителя)?

> как это, не делать переменной? непонятно..

Меня тут самого мастера мордой в очевидной ткнули
with TButton.Create(Application) do begin
// назначаем свойства
end;
Обращаться - не всегда это нужно. Если нужно - то надо сделать переменную. Хотя можно и по-другому как-нибудь извратиться ...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо