![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PageControl + вынос элементов в отдельное окно [D7]
таш © (2006-09-14 09:07:00)Есть такая ситуация: имеется PageControl, с некоторым кол-вом динамически создаваемых закладок с содержимым, с которым пользователь работает. Необходимо сделать возможность "извлечения закладки" с переносом её содержимого в новое окно.
в действии: т.е. допустим есть у нас три закладки, одну из них пользователь хочет вытащить из этих закладок и сделать автономным окном, т.е новое окно с PageControl и одной единственной этой закладкой. Как такое осуществить?, что-то у меня совсем каша в голове.
ЮЮ (2006-09-14 10:16:00) [1]А если TTabSheet переместить в другой PageControl (cм. св-во TTabSheet.PageControl)
Elen (2006-09-14 09:58:00) [2]
> Например с учетом того, что и форма на которую я буду копировать
> -- будет создаваться динамически, если пользователю захочется
> вытащить не одну вкладку.
Правильнышко...
> сразу перетащить всю вкладку в другой PageContol
Я ж и говорю создай на вкладке Панель в которой размести компоненты и меняй родителя для панели (и увидиш компоненты сами перескочат за панелькой)
вроде того :
procedure TForm2.PageControl1EndDrag(Sender, Target: TObject; X,
Y: Integer);
begin
caption:='end drag ';
Panel2.Parent :=TabSheet3;..который находится в другом PageControl
form3.show;
end;
А в панельке уже все что хочеш таскать...
таш (2006-09-14 09:51:00) [3]Ну да, хорошая идеи, просто хотелось ещё проще -- сразу перетащить всю вкладку в другой PageContol. Что вообще по поводу этого ещё порекомендуете? Например с учетом того, что и форма на которую я буду копировать -- будет создаваться динамически, если пользователю захочется вытащить не одну вкладку.
Может, кто ещё сталкивался с подобными задачами, может расскажете ещё каки нибудь рекомендации. Спасибо!
Elen (2006-09-14 09:37:00) [4]
> таш
как пример :
Переносит элемент на другую форму
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.Show;
TrackBar1.Parent:=form2;
end;
Т.Е. в цикле меняй парент для элементов на вкладке. А чтоб было проще Эти элементы помести все в TPanel. Поменяв ей парента на другую форму (которую, надеюсь, создаш и покажеш) получиш вылет элементов в отдельное окно. Правильно я говорю?