![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
докинг панели пересоздаются
chuzhakin © (2007-12-10 12:11:00)Всем привет!
Есть ли возможность использовать панели (плавающие, которые вставляются в интерфейс программы) так, чтобы они не пересоздавались при смене их позиции: "вытаскивании" и "вставке"? Мы используем внутри них компоненты "дерево" и другие и вся информация теряется. Приходится "с нуля" создавать компоненты в случае смены parent-а.
Спасибо!
Kolan (2007-12-11 11:27:00) [1]Видимо автор брешет.
Бо проверил:
type
TForm1 = class(TForm)
Panel1: TPanel;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
TMyPanel = class(TPanel)
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
with TMyPanel.Create(Application) do
begin
Parent := Form1;
Width := 100;
Height := 100;
Top := 10;
Left := 10;
DragMode := dmAutomatic;
DragKind := dkDock;
end;
end;
{ TMyPanel }
constructor TMyPanel.Create(AOwner: TComponent);
begin
inherited;
ShowMessage('Creation');
end;
destructor TMyPanel.Destroy;
begin
ShowMessage('They killed Kenny');
inherited;
end;
Может конечно не так проверил, но вроде так. Да и нелогично, с чегобы это она пересоздавалась.
Kolan (2007-12-11 11:09:00) [2]> Так сделайте чтобы при перетягивании ваше дерево дублировалось,
> а затем
> при смене перента из дублированного копировалось, затем
> обнулилось и так далее, но это в общих чертах.
И чем это для автора лушьше? Еще хуже чем перезодавать, бо придеся писать код для копирования.
> чтобы они не пересоздавались при смене их позиции
Неужели они и в правду пересоздаются, что-то мне не верится Пойду проверю.
fics (2007-12-10 18:13:00) [3]Так сделайте чтобы при перетягивании ваше дерево дублировалось, а затем
при смене перента из дублированного копировалось, затем обнулилось и так далее, но это в общих чертах.