Article View: pl.comp.lang.delphi
Article #346630Re: Własny komponent: dostęp do kontrolki child-a w publicznych property komponentu rodzica
From: Marek
Date: Fri, 01 Jun 2018 11:07
Date: Fri, 01 Jun 2018 11:07
73 lines
3251 bytes
3251 bytes
W dniu 01.06.2018 o 10:09, Krzysztof Szyszka pisze:
>> Użytkownik "Marek" napisał w wiadomości grup dyskusyjnych:peplqc$2gv$1@node2.news.atman.pl...
>> Witajcie,
>>
>> tworzę sobie komponent TRichEditEx, który ma w sobie kontrolki, m.in. FRichEdit: TRichEdit,
>> którego property chciałbym publicznie udostępnić w TRichEditEx.
>>
>> type
>> TMRichEditEx = class(TPanel)
>> private
>> FRichEdit: TRichEdit;
>> //inne kontrolki
>>
>> protected
>> procedure WMSize(var Msg: TMessage); message WM_SIZE;
>>
>> public
>> constructor Create(AOwner: TComponent); override;
>> destructor Destroy; override;
>>
>> published
>> property RichEdit: TRichEdit read FRichEdit;
>>
>> end;
>>
>> O ile dla mojego komponentu TMRichEditEx w BDS2006 w Object Inspektorze pojawia się dodatkowa
>> rozwijalna gałąź kontrolki RichEdit z dostępem do jego property, to w Delphi 2009
>> jest tylko property, ale bez możliwości rozwinięcia drzewka.
>>
>> Da się to jakoś zrobić, żebym mógł wyprowadzić w publicznych property mojego komponentu
>> TMRichEditEx publiczne property kontrolki FRichEdit?
>
> Pokaż jak tworzysz tego RichEdita. Czy ustawiasz dla niego SetSubComponent?
> http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Classes.TComponent.SetSubComponent
>
Ustawiam. Tak wygląda konstruktor:
constructor TMRichEdit.Create(AOwner: TComponent);
Begin
inherited Create(AOwner);
Width := 250;
Height := 200;
BevelOuter := bvNone;
BorderStyle := bsSingle;
Ctl3D := false;
ParentCtl3D := false;
FRichEdit := TRichEdit.Create(Self);
FRichEdit.Name := 'RichEdit';
FRichEdit.Left := 0;
FRichEdit.Top := 0;
FRichEdit.Width := 100;
FRichEdit.Height := 100;
FRichEdit.BorderStyle := bsNone;
FRichEdit.ParentFont := true;
FRichEdit.Parent := Self;
FRichEdit.SetSubComponent(true);
FRichEdit.Align := alTop;
FRichEdit.Height := Height- 40;
if not (csDesigning in ComponentState) then
FRichEdit.Lines.Text :='';
End;
Przypuszczam, że to jakaś ułomność Object Inspector-a w Delphi 2009, bo w Delphi 2006 jest OK.
--
Pzdr.
Marek
Technical Details
Message-ID:
<per9da$gq7$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<peplqc$2gv$1@node2.news.atman.pl> <peqv0a$6nl$1@node1.news.atman.pl>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!.POSTED!not-for-mail From: Marek <trele@fele.pl> Newsgroups: pl.comp.lang.delphi Subject: Re: Własny komponent: dostęp do kontrolki child-a w publicznych property komponentu rodzica Date: Fri, 1 Jun 2018 13:07:22 +0200 Organization: ATMAN - ATM S.A. Lines: 73 Message-ID: <per9da$gq7$1@node2.news.atman.pl> References: <peplqc$2gv$1@node2.news.atman.pl> <peqv0a$6nl$1@node1.news.atman.pl> NNTP-Posting-Host: host8.router8.tygrys.net Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1527851242 17223 213.108.119.8 (1 Jun 2018 11:07:22 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Fri, 1 Jun 2018 11:07:22 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 In-Reply-To: <peqv0a$6nl$1@node1.news.atman.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit