Показать сообщение отдельно
  (#7 (permalink)) Старый
caxaromires caxaromires вне форума
Member
 
Аватар для caxaromires
 
Сообщений: 42
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.03.2010
По умолчанию 11.04.2010, 14:27

Проблему решил следующим образом:
1) Объявил класс TMyDockFormClass
Код:
class TMyDockFormClass : public TForm
{
public:
TPanel *Panel;
__fastcall TMyDockFormClass(TComponent* Owner): TForm(Owner, 1)
    {
    BorderStyle = bsSizeToolWin;
    TPoint point;
    GetCursorPos(&point);
    Left = point.x;
    Top = point.y;
    Panel = new TPanel(Owner);
    Panel->Align = alClient;
    Panel->BevelWidth = 10;
    Panel->Parent = (TWinControl *)this;
    OnDockDrop = FormDockDrop;
    OnDeactivate = FormDeactivate;
    Show();
    }

void __fastcall FormDockDrop(TObject *Sender, TDragDockObject *Source, int X, int Y)
    {
    TWinControl *WCSender = (TWinControl *)Source->Control;
    WCSender->Align = alClient;
    WCSender->Parent = Panel;
    
    }
void __fastcall FormDeactivate(TObject *Sender)
    {
    if (!Panel->ControlCount)
        delete this;
      }
2)В конструкторе формы
Код:
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
PageControl1->FloatingDockSiteClass =__classid(TMyDockFormClass);
}
Ответить с цитированием
Ads