Article View: pl.comp.lang.delphi
Article #346537Re: Nowy komponent - gdzie Parent?
From: Adam Siwoń
Date: Thu, 05 Apr 2018 17:33
Date: Thu, 05 Apr 2018 17:33
36 lines
2470 bytes
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-mailReferences:
<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