🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #346537

Re: Nowy komponent - gdzie Parent?

#346537
From: Adam Siwoń
Date: Thu, 05 Apr 2018 17:33
36 lines
2470 bytes
W dniu 2018-04-05 o 17:49, ExM pisze:
> W końcu życie mnie zmusiło do stworzenia własnego komponentu - listy rozwijanej TComboBox połączonego z TEdit
> Nowy komponent tworzę na bazie TComboBox a w konstruktorze dynamicznie tworzę pole TEdit.
> 
> W apce mi to działa:
> 
>    edEdit := TEdit.Create(nil);

Nie lepiej wywołać TEdit.Create(Self)? Edit zostanie zwolniony wraz z 
formą i nie będziesz musiał robić tego ręcznie.

>    edEdit.Parent := Self;
>    edEdit.Left   := 10;
>    edEdit.Top    := 10;
>    edEdit.Width  := 100;
>    edEdit.Height := 20;
> 
> Ale w komponencie muszę wskazać jaki jest prawidłowy [Parent]
> Kiedy podaje [Self] to jest ok - ale pole na nowy TEdit mam ograniczone do obszaru który zajmuje TComboBox
> 
> Próbowałem podać:
>    edEdit.Parent := Parent;
> 
> - bo wydawało mi się że zmienna Parent w konstruktorze jest de facto obiektu TComboBox - ale wtedy nic mi się nie pojawia
> 
> Możecie podpowiedzieć - jak prawidłowo wskazać rodzica na którym chce położyć nowy TEdit tworzony w konstruktorze nowego komponentu?

Ta druga próba jest poprawna tylko pewnie w konstruktorze ComboBoxa 
Parent nie jest jeszcze przypisany (ma wartość nil) i to samo ustawiasz 
dla edita. Spróbuj przeciążyć metodę SetParent ComboBoxa (jest 
wirtualna) i tam ustawiaj Parent dla edita jak już pojawi się wartość 
Parent w Comboboxie.

-- 
z pozdrowieniami
Adam Siwoń
Technical Details
Message-ID: <5ac65e06$0$1002$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <d38a1d0b-f27f-4f9f-94e5-90043dde49a7@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: Nowy komponent - gdzie Parent?
Newsgroups: pl.comp.lang.delphi
References: <d38a1d0b-f27f-4f9f-94e5-90043dde49a7@googlegroups.com>
From: Adam Siwoń <traptak@poczta_no_spaam.onet.pl>
Date: Thu, 5 Apr 2018 19:33:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
MIME-Version: 1.0
In-Reply-To: <d38a1d0b-f27f-4f9f-94e5-90043dde49a7@googlegroups.com>
Lines: 37
Message-ID: <5ac65e06$0$1002$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.8.124.189
X-Trace: 1522949639 unt-rea-a-02.news.neostrada.pl 1002 83.8.124.189:50321
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit