Witam,
Próbuję zrobić komponent dziedziczący z TRichEdit, który dodatkowo ma pasek TToolBar z przyciskami do formatowania tekstu.
Zrobiłem coś takiego:

// RichEditFormat.h
class PACKAGE TRichEditFormat : public TRichEdit
{
private:
  TToolBar *TTBFormatowanie;
protected:
public:
  __fastcall TRichEditFormat(TComponent* Owner);
  __fastcall ~TRichEditFormat(void);
__published:
  __property TToolBar *Formatowanie = {read = TTBFormatowanie, write = TTBFormatowanie};
};


// TRichEditFormat.cpp

static inline void ValidCtrCheck(TRichEditFormat *)
{
  new TRichEditFormat(NULL);
}
//---------------------------------------------------------------------------
__fastcall TRichEditFormat::TRichEditFormat(TComponent* Owner)
  : TRichEdit(Owner)
{
  TToolButton *ttb = NULL;
  if(TTBFormatowanie != NULL) {
    // Przycisk wyrownanie do lewej
    ttb = new TToolButton(TTBFormatowanie);
    ttb->Parent = TTBFormatowanie;
    ttb->Grouped = true;
    ttb->Style = tbsCheck;
    ttb->Caption = "Lewa";
    // ... Dodawanie innych przyciskow
  };
}
//---------------------------------------------------------------------------
namespace RicheditFormat
{
  void __fastcall PACKAGE Register()
  {
     TComponentClass classes[1] = {__classid(TRichEditFormat)};
     RegisterComponents("Standard", classes, 0);
  }
}
//---------------------------------------------------------------------------

I problem polega na tym, że po dodaniu do formy komponentu ToolBara i TRichEditFormatowanie, ustawiam w TRichEditFormatowanie właściwość Formatowanie na TToolBar1 i w konstruktorze TRichEditFormatowanie właściwość Formatowanie i TTBFormatowanie są równe NULL. Dopiero później ustawiane są na adres ToolBar-a dodanego do formy.
W którym miejscu komponentu powinienem tworzyć przyciski na ToolBar ?

--
Pozdrawiam,
Jacek Q.